Data processing apparatus and data processing method

ABSTRACT

A data processing apparatus and a data processing method which enable provision of an LDPC code that achieves good error-rate performance. An LDPC encoding unit performs encoding using an LDPC code having a code length of 64800 bits and a code rate of 24/30, 25/30, 26/30, 27/30, 28/30, or 29/30. The LDPC code includes information bits and parity bits, and a parity check matrix H is composed of an information matrix portion corresponding to the information bits of the LDPC code, and a parity matrix portion corresponding to the parity bits. The information matrix portion of the parity check matrix H is represented by a parity check matrix initial value table that shows positions of elements of 1 in the information matrix portion in units of 360 columns. The apparatus and method may be applied to LDPC encoding and LDPC decoding.

TECHNICAL FIELD

The present technology relates to data processing apparatuses and dataprocessing methods, and more specifically to data processing apparatusesand data processing methods which enable provision of, for example, LDPCcodes that achieve good error-rate performance.

BACKGROUND ART

In recent years, LDPC (Low Density Parity Check) codes, which have ahigh error-correcting capability, have been widely employed intransmission schemes including satellite digital broadcastingtechnologies, such as DVB (Digital Video Broadcasting)-S.2, which isused in Europe (see, for example, NPL 1). LDPC codes are also employedin next-generation terrestrial digital broadcasting technologies, suchas DVB-T.2.

Recent studies have found that, like turbo codes, LDPC codes have aperformance closer to the Shannon limit for larger code lengths. Inaddition, because of their characteristic of having minimum distancesproportional to code lengths, LDPC codes have the feature of high blockerror probability performance, and have a further advantage in showingsubstantially no error floor phenomena, which is observed in thedecoding characteristics of turbo codes and the like.

LDPC codes will now be described in more detail. LDPC codes are linearcodes, and may or may not be binary. The following description will begiven in the context of binary LDPC codes.

An LDPC code has the most striking feature that it is defined by asparse parity check matrix. Here, the term “sparse matrix” refers to amatrix having a very small number of elements of 1 (or a matrix whoseelements are almost zeros).

FIG. 1 illustrates an example of a parity check matrix H of an LDPCcode.

In the parity check matrix H illustrated in FIG. 1, the weight of eachcolumn (column weight) (i.e., the number of 1s) is 3 and the weight ofeach row (row weight) is 6.

In an encoding operation using an LDPC code (LDPC encoding), forexample, a generator matrix G is generated on the basis of a paritycheck matrix H. By multiplying the generator matrix G by binaryinformation bits, a code word (i.e., an LDPC code) is generated.

Specifically, an encoding device that performs LDPC encoding firstcalculates a generator matrix G, where the equation GH^(T)=0 isestablished between the transpose H^(T) of the parity check matrix H andthe generator matrix G. Here, if the generator matrix G is a K×N matrix,the encoding device multiplies the generator matrix G by a bit sequence(i.e., a vector u) of K information bits to generate a code word c (=uG)having N bits. The code word (or LDPC code) generated by the encodingdevice is received on the receiver side via a certain communicationpath.

An LDPC code can be decoded using the message passing algorithm, whichis an algorithm called probabilistic decoding proposed by Gallager andwhich is based on belief propagation on a so-called Tanner graph withvariable nodes (also referred to as “message nodes”) and check nodes.Here, the variable nodes and the check nodes will also be hereinafterreferred to simply as “nodes” as appropriate.

FIG. 2 illustrates an LDPC code decoding procedure.

Note that, in the following description, a real-number valuerepresenting the likelihood of the value “0” of the i-th bit of an LDPCcode (i.e., a code word) received on the receiver side, which isexpressed in log likelihood ratio (i.e., a reception LLR), is alsoreferred to as a “reception value u_(0i)” as appropriate. Further, amessage output from a check node is represented by u_(j), and a messageoutput from a variable node is represented by v_(i).

In an LDPC code decoding process, first, as illustrated in FIG. 2, instep S11, an LDPC code is received, and a message (check node message)u_(j) is initialized to “0”. In addition, a variable k of a counter forrepetitive processing, which takes an integer value, is initialized to“0”. Then, the process proceeds to step S12. In step S12, a message(variable node message) v_(i) is determined by performing computationgiven by Expression (1) (variable node computation) on the basis of areception value u_(0i) obtained through the reception of the LDPC code.A message u_(j) is further determined by performing computation given byExpression (2) (check node computation) on the basis of the messagev_(i).

$\begin{matrix}\left\lbrack {{Math}.\mspace{14mu} 1} \right\rbrack & \; \\{v_{i} = {u_{0\; i} + {\sum\limits_{j = 1}^{d_{v} - 1}\; u_{j}}}} & (1) \\\left\lbrack {{Math}.\mspace{14mu} 2} \right\rbrack & \; \\{{\tanh\left( \frac{u_{j}}{2} \right)} = \; {\prod\limits_{i = 1}^{d_{c} - 1}\; {\tanh\left( \frac{v_{i}}{2} \right)}}} & (2)\end{matrix}$

Here, d_(v) and d_(c) in Expressions (1) and (2) are arbitrarilyselectable parameters indicating the number of is in the verticaldirection (columns) and the horizontal direction (rows) of the paritycheck matrix H, respectively. For example, for an LDPC code in a paritycheck matrix H with a column weight of 3 and a row weight of 6 (i.e., a(3, 6) LDPC code) illustrated in FIG. 1, d_(v)=3 and d_(c)=6.

Note that, in each of the variable node computation of Expression (1)and the check node computation of Expression (2), a message input froman edge (or a line connecting between a variable node and a check node)from which a message is output is not the target of the computation.Thus, the range of computation is 1 to d_(v)−1 or 1 to d_(c)−1.Furthermore, the check node computation of Expression (2) is actuallyperformed by creating in advance a table of a function R(v₁, v₂) givenby Expression (3), which is defined by one output for two inputs v₁ andv₂, and sequentially (or recursively) using the table in the mannergiven by Expression (4).

[Math. 3]

x=2 tan h ⁻¹{tan h(v ₁/2)tan h(v ₂/2)}=R(v ₁ ,v ₂)  (3)

[Math. 4]

u _(j) =R(v ₂ ,R(v ₃ , . . . R(v _(d) _(c) ₋₂ ,v _(d) _(c) ₋₁))))  (4)

In step S12, furthermore, the variable k is incremented by “1”. Then,the process proceeds to step S13. In step S13, it is determined whetherthe variable k is larger than a certain number of times of repetitivedecoding C. If it is determined in step S13 that the variable k is notlarger than C, the process returns to step S12, and subsequently,similar processing is repeatedly performed.

If it is determined in step S13 that the variable k is larger than C,the process proceeds to step S14. In step S14, a message v_(i) as afinal output result of decoding is determined by performing computationgiven by Expression (5), and is output. Then, the LDPC code decodingprocess ends.

$\begin{matrix}\left\lbrack {{Math}.\mspace{14mu} 5} \right\rbrack & \; \\{v_{i} = {u_{0\; i} + {\sum\limits_{j = 1}^{d_{v}}\; u_{j}}}} & (5)\end{matrix}$

Here, the computation of Expression (5) is performed using, unlike thevariable node computation of Expression (1), the messages u_(j) from allthe edges connected to a variable node.

FIG. 3 illustrates an example of a parity check matrix H of a (3, 6)LDPC code (with a code rate of 1/2 and a code length of 12).

In the parity check matrix H illustrated in FIG. 3, similarly to FIG. 1,the column weight is 3 and the row weight is 6.

FIG. 4 illustrates a Tanner graph of the parity check matrix Hillustrated in FIG. 3.

Here, in FIG. 4, a check node is represented by a plus “+” sign, and avariable node is represented by an equal “=” sign. A check node and avariable node correspond to each row and column of the parity checkmatrix H, respectively. A connection between a check node and a variablenode is an edge, and corresponds to an element of “1” in the paritycheck matrix.

More specifically, in a case where the element in the j-th row and thei-th column of the parity check matrix is 1, in FIG. 4, the i-thvariable node (“=” node) from the top and the j-th check node (“+” node)from the top are connected by an edge. An edge indicates that a code bitcorresponding to a variable node has a constraint corresponding to acheck node.

In the sum product algorithm, which is an LDPC code decoding method,variable node computation and check node computation are repeatedlyperformed.

FIG. 5 illustrates variable node computation to be performed at avariable node.

At a variable node, a message v_(i) corresponding to an edge for whichcalculation is to be performed is determined through the variable nodecomputation of Expression (1) using messages u₁ and u₂ from theremaining edges connected to the variable node and also using areception value u_(0i). The messages corresponding to the other edgesare also determined in a similar way.

FIG. 6 illustrates check node computation to be performed at a checknode.

Here, the check node computation of Expression (2) can be rewritten asExpression (6) by using the relationship of the equationa×b=exp{ln(|a|)+ln(|b|)}×sign(a)×sign(b), where sign(x) is 1 for x≧0 and−1 for x<0.

$\begin{matrix}\left\lbrack {{Math}.\mspace{14mu} 6} \right\rbrack & \; \\\begin{matrix}{u_{j} = {2\; {\tanh^{- 1}\left( {\prod\limits_{i = 1}^{d_{c} - 1}\; {\tanh\left( \frac{v_{i}}{2} \right)}} \right)}}} \\{= {2\; {\tanh^{- 1}\left\lbrack {\exp \left\{ {\sum\limits_{i = 1}^{d_{c} - 1}\; {\ln\left( {{\tanh\left( \frac{v_{i}}{2} \right)}} \right)}} \right\} \times {\prod\limits_{i = 1}^{d_{c} - 1}\; {{sign}\left( {\tanh\left( \frac{v_{i}}{2} \right)} \right)}}} \right\rbrack}}} \\{= {2\; {\tanh^{- 1}\left\lbrack {\exp \left\{ {- \left( {\sum\limits_{i = 1}^{d_{c} - 1}\; {- {\ln\left( {\tanh\left( \frac{v_{i}}{2} \right)} \right)}}} \right)} \right\}} \right\rbrack} \times {\prod\limits_{i = 1}^{d_{c} - 1}\; {{sign}\left( v_{i} \right)}}}}\end{matrix} & (6)\end{matrix}$

If the function φ(x) is defined as the equation φ(x)=ln(tan h(x/2)) forx≧0, the equation φ⁻¹(x)=2 tan h⁻¹(e^(−x)) is established. Thus,Expression (6) can be transformed into Expression (7).

$\begin{matrix}\left\lbrack {{Math}.\mspace{14mu} 7} \right\rbrack & \; \\{u_{j} = {{\varphi^{- 1}\left( {\sum\limits_{i = 1}^{d_{c} - 1}\; {\varphi \left( {v_{i}} \right)}} \right)} \times {\prod\limits_{i = 1}^{d_{c} - 1}\; {{sign}\left( v_{i} \right)}}}} & (7)\end{matrix}$

At a check node, the check node computation of Expression (2) isperformed in accordance with Expression (7).

More specifically, at a check node, as illustrated in FIG. 6, a messageu_(j) corresponding to an edge for which calculation is to be performedis determined through the check node computation of Expression (7) usingmessages v₁, v₂, v₃, v₄, and v₅ from the remaining edges connected tothe check node. The messages corresponding to the other edges are alsodetermined in a similar way.

Note that the function φ(x) in Expression (7) can be represented by theequation φ(x)=ln((e^(x)+1)/(e^(x)−1)), where φ(x)=φ⁻¹(x) for x>0. Thefunctions φ(x) and φ⁻¹(x) may be implemented in hardware by using an LUT(Look Up Table), where the same LUT is used for both functions.

CITATION LIST Non Patent Literature

NPL 1: DVB-S.2: ETSI EN 302 307 V1.2.1 (2009-08)

SUMMARY OF INVENTION Technical Problem

In the standards that employ LDPC codes, such as DVB-S.2, DVB-T.2, andDVB-C.2, an LDPC code is mapped to symbols (or is symbolized) oforthogonal modulation (digital modulation) such as QPSK (QuadraturePhase Shift Keying). The symbols are mapped to constellation points andare transmitted.

Meanwhile, there has recently been a demand for efficient transmissionof a large amount of data such as a three-dimensional (3D) image or a 4kimage. A 4k image has a resolution of 3840 pixels horizontally and 2160pixels vertically, providing approximately four times the pixelresolution of full high definition.

However, prioritizing the efficiency of data transmission would increasean error rate.

On the contrary, there may also be a demand that the efficiency of datatransmission can be somewhat sacrificed for data transmission with gooderror-rate performance.

In the future, demands for data transmission with various efficiencylevels are expected to increase. For example, a plurality of LDPC codeshaving different code rates allow data transmission with variousefficiency levels.

In data transmission, therefore, it is desirable that LDPC codes havingcode rates which are easily set to a somewhat large number of coderates, the number of which is greater than or equal to, for example, thenumber of code rates demanded for data transmission, be employed.

It is also desirable that LDPC codes have high resistance to errors(i.e., high robustness), that is, good error-rate performance, no matterwhich code rate of LDPC code is to be employed.

The present technology has been made in view of the foregoing situation,and is intended to provide LDPC codes having good error-rateperformance.

Solution to Problem

A first data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of24/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

1504 2103 2621 2840 3869 4594 5246 6314 7327 7364 10425 11934 1289812954

27 1903 3923 4513 7812 8098 8428 9789 10519 11345 12032 12157 1257312930

17 191 660 2451 2475 2976 3398 3616 5769 6724 8641 10046 11552 12842

13 1366 4993 6468 7689 8563 9131 10012 10914 11574 11837 12203 1271512946

432 872 2603 3286 3306 3385 4137 5563 7540 9339 9948 12315 12656 12929

1113 1394 4104 4186 7240 8827 11522 11833 12359 12363 12629 12821 1290412946

14 441 1432 1677 2432 8981 11478 11507 12599 12783 12793 12912 1292212943

1579 1806 7971 8586 9845 10357 11600 12007 12020 12339 12576 12817 1283012904

20 546 3672 5538 6944 8052 8781 9743 12269 12393 12418 12549 12555 12718

1 3540 4397 5011 6626 8617 9587 10360 10602 11402 11983 12068 1249512838

30 1572 4908 7421 8041 8910 8963 11005 11930 12240 12340 12467 1289212933

33 2060 3907 4215 5545 8306 8655 8743 8806 9315 9364 10685 11954 12959

1338 2596 4876 5207 9555 10421 10929 11648 11739 12375 12416 12643 1274212754

9469 10544 10932 11250 11426 11582 11846 12139 12202 12210 12356 1237812873 12929

2681 3337 3616 6113 7078 8167 8624 9697 10908 11781 11855 12095 1247512659

28 4086 5432 6555 6848 7368 8794 11483 11572 12414 12816 12894 1293612957

5 5044 5572 9023 9192 9589 9979 10009 10855 10991 11715 12314 1261012945

17 272 602 5681 6530 9572 9886 11061 11495 12238 12265 12483 12885 12955

22 2245 4282 4469 5007 6650 6733 10151 10401 11571 12004 12261 1280512844

23 3270 4468 8621 9662 11240 11934 12091 12444 12691 12717 12858 1288812917

740 1519 4923 6191 7878 8350 9293 10779 11020 11287 11630 12792 1286212920

12 28 3584 6072 7079 8075 10477 11130 11383 11780 12341 12667 1281812927

14 118 5283 5382 8301 9097 9413 9664 10437 10701 11124 12685 12730 12734

32 1426 3078 4325 5353 7780 9042 9928 10077 10377 10679 11191 1175012611

1 669 3831 3980 5381 5412 6552 8453 9435 10243 11546 11821 11987 12807

232 483 919 1232 2156 2396 2990 3774 8539 8704 8819 10810 11868 12634

2381 7309 9334

348 6494 12623

4872 6257 11090

7 11970 11985

6615 12788 12855

1173 5269 12647

1944 7738 8116

17 4828 9175

2329 6034 12642

1254 2366 5013

2984 5078 5664

7423 10265 11528

1656 8526 8716

22 287 2837

18 100 3079

299 3171 12169

33 5920 11144

1286 3650 9309

2283 8809 12588

3199 8242 9081

2507 6846 8113

5211 8722 12689

1064 2592 8659

6136 6925 12958

1256 12789 12932

4274 8045 8788

1824 3209 6926

11 8899 12669

6249 6338 8730

641 9679 12831

3459 9876 11185

3226 6148 8173

9078 12126 12771

10907 11278 12731

3392 4020 12838

2814 11588 12909

6063 9214 11519

6064 6827 12683

1610 2452 6582

903 6289 8074

4592 8138 12952

2587 6271 9945

2733 11844 11893

581 4601 10020

14 5597 6049

343 3582 5931

5263 6521 12846

1394 2457 5251

11 4627 12747

2650 10366 12390

6285 11893 12062

10143 12892 12956

8448 11917 12330

4209 11693 12356

1529 2360 9086

5389 8148 10224

64 4876 12862

9483 12659 12887

3587 6767 12478

3122 5245 9049

3267 10118 11466

1347 3857 6705

9384 9576 11971

1366 8708 10758

412 4249 12863

1676 10488 11850

17 1605 2455

14 111 6045

11368 12919 12953

10588 11530 12937

9549 5143 12218

3088 4185 11674

23 2554 7823

6615 9291 9863

2229 3629 10855

3818 5509 12764

2740 11525 12914

8297 8611 12948

3606 11104 12920

5097 10412 12759

6502 7266 12072

5425 5490 10728

22 73 8462

32 12439 12657

8483 9540 10430

7275 7377 7420

5748 9726 12356

5672 6150 9156

28 3527 5857

520 7099 11335

405 6173 12865

5847 12843 12934

4289 7679 10386

2950 8021 12938

8844 11214 12955

2130 10760 12665

734 4790 12940

8 6991 12772

19 8205 11289

12 1440 9077

8670 8837 12951

3531 9166 12937

15 8901 8929

838 10114 11740

2648 9959 10934

323 7499 12877

5505 5659 11395

6627 12709 12933

364 1976 12888

8213 9124 12793

9588 10088 11108

299 890 11634

7368 7598 11602

28 4669 12585

15 27 12474

1426 3614 4205

30 2087 11147

6226 6259 12941.

A second data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 24/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

1504 2103 2621 2840 3869 4594 5246 6314 7327 7364 10425 11934 1289812954

27 1903 3923 4513 7812 8098 8428 9789 10519 11345 12032 12157 1257312930

17 191 660 2451 2475 2976 3398 3616 5769 6724 8641 10046 11552 12842

13 1366 4993 6468 7689 8563 9131 10012 10914 11574 11837 12203 1271512946

432 872 2603 3286 3306 3385 4137 5563 7540 9339 9948 12315 12656 12929

1113 1394 4104 4186 7240 8827 11522 11833 12359 12363 12629 12821 1290412946

14 441 1432 1677 2432 8981 11478 11507 12599 12783 12793 12912 1292212943

1579 1806 7971 8586 9845 10357 11600 12007 12020 12339 12576 12817 1283012904

20 546 3672 5538 6944 8052 8781 9743 12269 12393 12418 12549 12555 12718

1 3540 4397 5011 6626 8617 9587 10360 10602 11402 11983 12068 1249512838

30 1572 4908 7421 8041 8910 8963 11005 11930 12240 12340 12467 1289212933

33 2060 3907 4215 5545 8306 8655 8743 8806 9315 9364 10685 11954 12959

1338 2596 4876 5207 9555 10421 10929 11648 11739 12375 12416 12643 1274212754

9469 10544 10932 11250 11426 11582 11846 12139 12202 12210 12356 1237812873 12929

2681 3337 3616 6113 7078 8167 8624 9697 10908 11781 11855 12095 1247512659

28 4086 5432 6555 6848 7368 8794 11483 11572 12414 12816 12894 1293612957

5 5044 5572 9023 9192 9589 9979 10009 10855 10991 11715 12314 1261012945

17 272 602 5681 6530 9572 9886 11061 11495 12238 12265 12483 12885 12955

22 2245 4282 4469 5007 6650 6733 10151 10401 11571 12004 12261 1280512844

23 3270 4468 8621 9662 11240 11934 12091 12444 12691 12717 12858 1288812917

740 1519 4923 6191 7878 8350 9293 10779 11020 11287 11630 12792 1286212920

12 28 3584 6072 7079 8075 10477 11130 11383 11780 12341 12667 1281812927

14 118 5283 5382 8301 9097 9413 9664 10437 10701 11124 12685 12730 12734

32 1426 3078 4325 5353 7780 9042 9928 10077 10377 10679 11191 1175012611

1 669 3831 3980 5381 5412 6552 8453 9435 10243 11546 11821 11987 12807

232 483 919 1232 2156 2396 2990 3774 8539 8704 8819 10810 11868 12634

2381 7309 9334

348 6494 12623

4872 6257 11090

7 11970 11985

6615 12788 12855

1173 5269 12647

1944 7738 8116

17 4828 9175

2329 6034 12642

1254 2366 5013

2984 5078 5664

7423 10265 11528

1656 8526 8716

22 287 2837

18 100 3079

299 3171 12169

33 5920 11144

1286 3650 9309

2283 8809 12588

3199 8242 9081

2507 6846 8113

5211 8722 12689

1064 2592 8659

6136 6925 12958

1256 12789 12932

4274 8045 8788

1824 3209 6926

11 8899 12669

6249 6338 8730

641 9679 12831

3459 9876 11185

3226 6148 8173

9078 12126 12771

10907 11278 12731

3392 4020 12838

2814 11588 12909

6063 9214 11519

6064 6827 12683

1610 2452 6582

903 6289 8074

4592 8138 12952

2587 6271 9945

2733 11844 11893

581 4601 10020

14 5597 6049

343 3582 5931

5263 6521 12846

1394 2457 5251

11 4627 12747

2650 10366 12390

6285 11893 12062

10143 12892 12956

8448 11917 12330

4209 11693 12356

1529 2360 9086

5389 8148 10224

64 4876 12862

9483 12659 12887

3587 6767 12478

3122 5245 9044

3267 10118 11466

1347 3857 6705

9384 9576 11971

1366 8708 10758

412 4249 12863

1676 10488 11850

17 1605 2455

14 111 6045

11368 12919 12953

10588 11530 12937

4549 5143 12218

3088 4185 11674

23 2554 7823

6615 9291 9863

2229 3629 10855

3818 5509 12764

2740 11525 12914

8297 8611 12948

3606 11104 12920

5097 10412 12759

6502 7266 12072

5425 5490 10728

22 73 8462

32 12439 12657

8483 9540 10430

7275 7377 7420

5748 9726 12356

5672 6150 9156

28 3527 5857

520 7099 11335

405 6173 12865

5847 12843 12934

4289 7679 10386

2950 8021 12938

8844 11214 12955

2130 10760 12665

734 4790 12940

8 6991 12772

19 8205 11289

12 1440 9077

8670 8837 12951

3531 9166 12937

15 8901 8929

838 10114 11740

2648 9959 10934

323 7499 12877

5505 5659 11395

6627 12709 12933

364 1976 12888

8213 9124 12793

9588 10088 11108

299 890 11634

7368 7598 11602

28 4669 12585

15 27 12474

1426 3614 4205

30 2087 11147

6226 6259 12941.

A third data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of25/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

1860 2354 3967 4292 4488 5243 5373 5766 8378 9111 10468 10505 10774

24 2266 2380 3282 4255 4779 8729 9140 9566 10102 10661 10711 10797

605 650 1108 1669 2251 3133 5847 6197 6902 7545 10521 10600 10773

1016 1428 1612 2335 3102 3810 4926 5953 9964 10246 10569 10734 10784

3195 6308 8029 9030 9397 9461 9833 10239 10499 10675 10736 10757 10773

2 27 3641 4566 7332 9318 9323 9916 10365 10438 10561 10581 10750

2405 2458 4820 6232 6259 6347 7139 7474 8623 8779 8798 10747 10794

3164 4736 6474 7162 7420 7517 7835 8238 8412 8489 9006 10113 10440

20 2372 5561 5649 6907 8393 8505 9181 9567 9595 10388 10483 10714

1071 2899 5135 5780 6616 7111 7773 8582 9015 9912 10139 10387 10768

292 2833 5490 6011 6136 6713 7517 9096 10128 10328 10407 10525 10736

1044 3711 4421 5140 5207 8118 8749 8884 9205 10359 10372 10746 10784

3241 5696 6440 7240 7419 8613 8878 9593 9959 9997 10401 10404 10754

3133 4647 5912 6065 6694 7208 7346 8227 9465 9739 10452 10516 10770

2254 6444 7449 8095 8120 8710 9030 9162 9643 9968 10101 10571 10678

918 1445 2217 4262 4623 5401 5749 7446 7907 9539 10125 10514 10726

6 1341 1788 3105 4359 5263 5970 7552 8249 8644 10609 10674 10733

1994 3000 3151 3173 7742 8335 8438 8741 9232 9296 9817 10023 10257

467 1674 3016 3950 4055 5399 6688 7113 7273 8658 8702 9642 10545

2007 2541 3125 7380 7550 8122 8501 8665 9882 10403 10519 10594 10696

334 587 709 1540 2023 2876 6216 8768 9328 9481 10424 10507 10779

2165 4185 4306 5019 6961 7386 8447 9082 9837 10091 10461 10559 10570

7 903 2948 6312 6654 7738 7980 8312 9104 9743 10070 10278 10406

3047 3154 4160 4378 5461 8711 8809 9040 9173 9252 9537 9995 10735

2018 2355 3828 3854 6201 6696 8313 8459 8550 8833 9586 10202 10224

1402 1908 4286 4660 6029 6115 6737 7538 9495 9517 10055 10509 10644

3442 3589 3868 5051 5322 5580 8725 9046 9170 10041 10613 10681 10689

2733 7826 10622

3597 4753 7086

1394 7297 10264

2848 7502 10304

1649 2405 10783

647 2911 9069

2572 4006 7508

1361 8887 10103

3681 4023 9090

1496 4962 6325

2016 5120 9747

3954 5260 8568

3364 8719 10035

4208 4806 9973

29 3361 3490

1835 2317 10436

7312 8177 9041

7728 8097 10761

2109 7902 9685

5424 8943 9436

4369 7643 9152

2240 10140 10528

3435 6124 10604

8962 9357 10040

26 1931 8629

8275 10455 10643

8 24 4952

3995 6456 10633

28 10300 10337

4894 9286 9429

5587 6721 9120

1859 9198 9762

6374 6453 7011

1319 4530 5442

1507 10711 10798

2115 3445 3641

6668 9139 10163

4038 8117 10295

1479 3403 8247

2522 2934 3562

1526 5073 9650

2136 9820 10636

4214 8464 9891

8018 10330 10610

8984 10209 10647

3414 7272 8599

4883 9077 9525

22 8173 8425

2941 6536 10126

29 6540 7361

5 3787 10468

4264 4818 6906

3903 7041 10412

6078 7661 10619

6922 9723 9890

5112 5416 6253

5925 9961 10447

9 10311 10598

8790 8814 10793

4768 5466 10664

10 10675 10766

6814 8705 10737

17 769 6692

1503 10696 10742

1285 4632 8976

4279 4973 7907

4650 4775 10785

28 729 10331

1914 5240 10723

3569 4921 9561

4 9442 10796

494 2328 9507

1717 8768 10750

9540 10599 10774

11 10075 10644

10246 10607 10753

5510 7088 9053

1347 3584 5523

7872 10596 10736

628 10592 10695

5632 5688 10627

2375 10009 10561

4169 4630 8871

2896 10038 10521

89 9695 9799

20 7563 9069

4534 10321 10697

8212 9868 10716

7485 9312 10327

234 536 6293

5515 7350 9251

283 3182 7167

2444 5378 6130

6183 8315 10726

43 4871 8347

2427 10219 10728

10 21 9448

1067 8312 8420

4793 9522 10105

4688 10536 10724

3825 7496 10709

682 8544 10449

2794 7110 10741

9279 10741 10767

2897 5442 8771

33 7957 10460

5 10393 10792

6225 10224 10798

23 9014 10786

7836 8339 8642

3476 5455 9788

1939 10251 10384

4008 7890 10450

926 2090 3804

1038 2497 10701

22 6220 8405

5153 5944 10367

7260 7726 9529

3039 8397 10665

7262 9644 10083

5531 6248 10795

7926 8248 8413

4649 8971 10182.

A fourth data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 25/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

1860 2354 3967 4292 4488 5243 5373 5766 8378 9111 10468 10505 10774

24 2266 2380 3282 4255 4779 8729 9140 9566 10102 10661 10711 10797

605 650 1108 1669 2251 3133 5847 6197 6902 7545 10521 10600 10773

1016 1428 1612 2335 3102 3810 4926 5953 9964 10246 10569 10734 10784

3195 6308 8029 9030 9397 9461 9833 10239 10499 10675 10736 10757 10773

2 27 3641 4566 7332 9318 9323 9916 10365 10438 10561 10581 10750

2405 2458 4820 6232 6254 6347 7139 7474 8623 8779 8798 10747 10794

3164 4736 6474 7162 7420 7517 7835 8238 8412 8489 9006 10113 10440

20 2372 5561 5649 6907 8393 8505 9181 9567 9595 10388 10483 10714

1071 2899 5135 5780 6616 7111 7773 8582 9015 9912 10139 10387 10768

292 2833 5490 6011 6136 6713 7517 9096 10128 10328 10407 10525 10736

1044 3711 4421 5140 5207 8118 8749 8884 9205 10359 10372 10746 10784

3241 5696 6440 7240 7419 8613 8878 9593 9959 9997 10401 10404 10754

3133 4647 5912 6065 6694 7208 7346 8227 9465 9739 10452 10516 10770

2254 6444 7449 8095 8120 8710 9030 9162 9643 9968 10101 10571 10678

918 1445 2217 4262 4623 5401 5749 7446 7907 9539 10125 10514 10726

6 1341 1788 3105 4359 5263 5470 7552 8249 8644 10609 10674 10733

1994 3000 3151 3173 7742 8335 8438 8741 9232 9296 9817 10023 10257

467 1674 3016 3950 4055 5399 6688 7113 7273 8658 8702 9642 10545

2007 2541 3125 7380 7550 8122 8501 8665 9882 10403 10519 10594 10696

334 587 709 1540 2023 2876 6216 8768 9328 9481 10424 10507 10779

2165 4185 4306 5019 6961 7386 8447 9082 9837 10091 10461 10559 10570

7 903 2948 6312 6654 7738 7980 8312 9104 9743 10070 10278 10406

3047 3154 4160 4378 5461 8711 8809 9040 9173 9252 9537 9995 10735

2018 2355 3828 3854 6201 6696 8313 8459 8550 8833 9586 10202 10224

1402 1908 4286 4660 6029 6115 6737 7538 9495 9517 10055 10509 10644

3442 3589 3868 5051 5322 5580 8725 9046 9170 10041 10613 10681 10689

2733 7826 10622

3597 4753 7086

1394 7297 10264

2848 7502 10304

1649 2405 10783

647 2911 9069

2572 4006 7508

1361 8887 10103

3681 4023 9090

1496 4962 6325

2016 5120 9747

3954 5260 8568

3364 8719 10035

4208 4806 9973

29 3361 3490

1835 2317 10436

7312 8177 9041

7728 8097 10761

2109 7902 9685

5424 8943 9436

4369 7643 9152

2240 10140 10528

3435 6124 10604

8962 9357 10040

26 1931 8629

8275 10455 10643

8 24 4952

3995 6456 10633

28 10300 10337

4894 9286 9429

5587 6721 9120

1859 9198 9762

6374 6453 7011

1319 4530 5442

1507 10711 10798

2115 3445 3641

6668 9139 10163

4038 8117 10295

1979 3403 8247

2522 2934 3562

1526 5073 9650

2136 9820 10636

4214 8464 9891

8018 10330 10610

8984 10209 10647

3414 7272 8599

4883 9077 9525

22 8173 8425

2941 6536 10126

29 6540 7361

5 3787 10468

4264 4818 6906

3903 7041 10412

6078 7661 10619

6922 9723 9890

5112 5416 6253

5925 9961 10447

9 10311 10598

8790 8814 10793

4768 5466 10664

10 10675 10766

6814 8705 10737

17 769 6692

1503 10696 10742

1285 4632 8976

4279 4973 7907

4650 4775 10785

28 729 10331

1914 5240 10723

3569 4921 9561

4 9442 10796

494 2328 9507

1717 8768 10750

9540 10599 10774

11 10075 10644

10246 10607 10753

5510 7088 9053

1347 3584 5523

7872 10596 10736

628 10592 10695

5632 5688 10627

2375 10009 10561

4169 4630 8871

2896 10038 10521

89 9695 9799

20 7563 9069

4534 10321 10697

8212 9868 10716

7485 9312 10327

234 536 6293

5515 7350 9251

283 3182 7167

2444 5378 6130

6183 8315 10726

43 4871 8347

2427 10219 10728

10 21 9448

1067 8312 8420

4793 9522 10105

4688 10536 10724

3825 7496 10709

682 8544 10449

2794 7110 10741

9279 10741 10767

2897 5442 8771

33 7957 10460

5 10393 10792

6225 10224 10798

23 9014 10786

7836 8339 8642

3476 5455 9788

1939 10251 10384

4008 7890 10450

926 2090 3804

1038 2497 10701

22 6220 8405

5153 5944 10367

7260 7726 9529

3039 8397 10665

7262 9644 10083

5531 6248 10795

7926 8248 8413

4649 8971 10182.

A fifth data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of26/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

142 2307 2598 2650 4028 4434 5781 5881 6016 6323 6681 6698 8125

2932 4928 5248 5256 5983 6773 6828 7789 8426 8494 8534 8539 8583

899 3295 3833 5399 6820 7400 7753 7890 8109 8451 8529 8564 8602

21 3060 4720 5429 5636 5927 6966 8110 8170 8247 8355 8365 8616

20 1745 2838 3799 4380 4418 4646 5059 7343 8161 8302 8456 8631

9 6274 6725 6792 7195 7333 8027 8186 8209 8273 8442 8548 8632

494 1365 2405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625

192 574 1179 4387 4695 5089 5831 7673 7789 8298 8301 8612 8632

11 20 1406 6111 6176 6256 6708 6834 7828 8232 8457 8495 8602

6 2654 3554 4483 4966 5866 6795 8069 8249 8301 8497 8509 8623

21 1144 2355 3124 6773 6805 6887 7742 7994 8358 8374 8580 8611

335 4473 4883 5528 6096 7543 7586 7921 8197 8319 8394 8489 8636

2919 4331 4419 4735 6366 6393 6844 7193 8165 8205 8544 8586 8617

12 19 742 930 3009 4330 6213 6224 7292 7430 7792 7922 8137

710 1439 1588 2434 3516 5239 6248 6827 8230 8448 8515 8581 8619

200 1075 1868 5581 7349 7642 7698 8037 8201 8210 8320 8391 8526

3 2501 4252 5256 5292 5567 6136 6321 6430 6486 7571 8521 8636

3062 4599 5885 6529 6616 7314 7319 7567 8024 8153 8302 8372 8598

105 381 1574 4351 5452 5603 5943 7467 7788 7933 8362 8513 8587

787 1857 3386 3659 6550 7131 7965 8015 8040 8312 8484 8525 8537

15 1118 4226 5197 5575 5761 6762 7038 8260 8338 8444 8512 8568

36 5216 5368 5616 6029 6591 8038 8067 8299 8351 8565 8578 8585

1 23 4300 4530 5426 5532 5817 6967 7124 7979 8022 8270 8437

629 2133 4828 5475 5875 5890 7194 8042 8345 8385 8518 8598 8612

11 1065 3782 4237 4993 7104 7863 7904 8104 8228 8321 8383 8565

2131 2274 3168 3215 3220 5597 6347 7812 8238 8354 8527 8557 8614

5600 6591 7491 7696

1766 8281 8626

1725 2280 5120

1650 3445 7652

4312 6911 8626

15 1013 5892

2263 2546 2979

1545 5873 7406

67 726 3697

2860 6443 8542

17 911 2820

1561 4580 6052

79 5269 7134

22 2410 2424

3501 5642 8627

808 6950 8571

4099 6389 7482

4023 5000 7833

5476 5765 7917

1008 3194 7207

20 495 5411

1703 8388 8635

6 4395 4921

200 2053 8206

1089 5126 5562

10 4193 7720

1967 2151 4608

22 738 3513

3385 5066 8152

440 1118 8537

3429 6058 7716

5213 7519 8382

5564 8365 8620

43 3219 8603

4 5409 5815

5 6376 7654

4091 5724 5953

5348 6754 8613

1634 6398 6632

72 2058 8605

3497 5811 7579

3846 6743 8559

15 5933 8629

2133 5859 7068

4151 4617 8566

2960 8270 8410

2059 3617 8210

544 1441 6895

4043 7482 8592

-   294 2180 8524

3058 8227 8373

364 5756 8617

5383 8555 8619

1704 2480 4181

7338 7929 7990

2615 3905 7981

4298 4548 8296

8262 8319 8630

892 1893 8028

5694 7237 8595

1487 5012 5810

4335 8593 8624

3509 4531 5273

10 22 830

4161 5208 6280

275 7063 8634

4 2725 3113

2279 7403 8174

1637 3328 3930

2810 4939 5624

3 1234 7687

2799 7740 8616

22 7701 8636

4302 7857 7993

7477 7794 8592

9 6111 8591

5 8606 8628

347 3497 4033

1747 2613 8636

1827 5600 7042

580 1822 6842

232 7134 7783

4629 5000 7231

951 2806 4947

571 3474 8577

2437 2496 7945

23 5873 8162

12 1168 7686

8315 8540 8596

1766 2506 4733

929 1516 3338

21 1216 6555

782 1452 8617

8 6083 6087

667 3240 4583

4030 4661 5790

559 7122 8553

3202 4388 4909

2533 3673 8594

1991 3954 6206

6835 7900 7980

189 5722 8573

2680 4928 4998

243 2579 7735

4281 8132 8566

7656 7671 8609

1116 2291 4166

21 388 8021

6 1123 8369

311 4918 8511

0 3248 6290

13 6762 7172

4209 5632 7563

49 127 8074

581 1735 4075

0 2235 5470

2178 5820 6179

16 3575 6054

1095 4564 6458

9 1581 5953

2537 6469 8552

14 3874 4844

0 3269 3551

2114 7372 7926

1875 2388 4057

3232 4042 6663

9 401 583

13 4100 6584

2299 4190 4410

21 3670 4979.

A sixth data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 26/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

142 2307 2598 2650 4028 4434 5781 5881 6016 6323 6681 6698 8125

2932 4928 5248 5256 5983 6773 6828 7789 8426 8494 8534 8539 8583

899 3295 3833 5399 6820 7400 7753 7890 8109 8451 8529 8564 8602

21 3060 4720 5429 5636 5927 6966 8110 8170 8247 8355 8365 8616

20 1745 2838 3799 4380 4418 4646 5059 7343 8161 8302 8456 8631

9 6274 6725 6792 7195 7333 8027 8186 8209 8273 8442 8548 8632

494 1365 2405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625

192 574 1179 4387 4695 5089 5831 7673 7789 8298 8301 8612 8632

11 20 1406 6111 6176 6256 6708 6834 7828 8232 8457 8495 8602

6 2654 3554 4483 4966 5866 6795 8069 8249 8301 8497 8509 8623

21 1144 2355 3124 6773 6805 6887 7742 7994 8358 8374 8580 8611

335 4473 4883 5528 6096 7543 7586 7921 8197 8319 8394 8489 8636

2919 4331 4419 4735 6366 6393 6844 7193 8165 8205 8544 8586 8617

12 19 742 930 3009 4330 6213 6224 7292 7430 7792 7922 8137

710 1439 1588 2434 3516 5239 6248 6827 8230 8448 8515 8581 8619

200 1075 1868 5581 7349 7642 7698 8037 8201 8210 8320 8391 8526

3 2501 4252 5256 5292 5567 6136 6321 6430 6486 7571 8521 8636

3062 4599 5885 6529 6616 7314 7319 7567 8024 8153 8302 8372 8598

105 381 1574 4351 5452 5603 5943 7467 7788 7933 8362 8513 8587

787 1857 3386 3659 6550 7131 7965 8015 8040 8312 8484 8525 8537

15 1118 4226 5197 5575 5761 6762 7038 8260 8338 8444 8512 8568

36 5216 5368 5616 6029 6591 8038 8067 8299 8351 8565 8578 8585

1 23 4300 4530 5426 5532 5817 6967 7124 7979 8022 8270 8437

629 2133 4828 5475 5875 5890 7194 8042 8345 8385 8518 8598 8612

11 1065 3782 4237 4993 7109 7863 7904 8104 8228 8321 8383 8565

2131 2274 3168 3215 3220 5597 6347 7812 8238 8354 8527 8557 8614

5600 6591 7491 7696

1766 8281 8626

1725 2280 5120

1650 3445 7652

4312 6911 8626

15 1013 5892

2263 2546 2979

1545 5873 7406

67 726 3697

2860 6443 8542

17 911 2820

1561 4580 6052

79 5269 7134

22 2410 2424

3501 5642 8627

808 6950 8571

4099 6389 7482

4023 5000 7833

5476 5765 7917

1008 3194 7207

20 495 5411

1703 8388 8635

6 4395 4921

200 2053 8206

1089 5126 5562

10 4193 7720

1967 2151 4608

22 738 3513

3385 5066 8152

440 1118 8537

3429 6058 7716

5213 7519 8382

5564 8365 8620

43 3219 8603

4 5409 5815

5 6376 7654

4091 5724 5953

5348 6754 8613

1634 6398 6632

72 2058 8605

3497 5811 7579

3846 6743 8559

15 5933 8629

2133 5859 7068

4151 4617 8566

2960 8270 8410

2059 3617 8210

544 1441 6895

4043 7482 8592

294 2180 8524

3058 8227 8373

364 5756 8617

5383 8555 8619

1704 2480 4181

7338 7929 7990

2615 3905 7981

4298 4548 8296

8262 8319 8630

892 1893 8028

5694 7237 8595

1487 5012 5810

4335 8593 8624

3509 4531 5273

10 22 830

4161 5208 6280

275 7063 8634

4 2725 3113

2279 7403 8174

1637 3328 3930

2810 4939 5624

3 1234 7687

2799 7740 8616

22 7701 8636

4302 7857 7993

7477 7794 8592

9 6111 8591

5 8606 8628

347 3497 4033

1747 2613 8636

1827 5600 7042

580 1822 6842

232 7134 7783

4629 5000 7231

951 2806 4947

571 3474 8577

2437 2496 7945

23 5873 8162

12 1168 7686

8315 8540 8596

1766 2506 4733

929 1516 3338

21 1216 6555

782 1452 8617

8 6083 6087

667 3240 4583

4030 4661 5790

559 7122 8553

3202 4388 4909

2533 3673 8594

1991 3954 6206

6835 7900 7980

189 5722 8573

2680 4928 4998

243 2579 7735

4281 8132 8566

7656 7671 8609

1116 2291 4166

21 388 8021

6 1123 8369

311 4918 8511

0 3248 6290

13 6762 7172

4209 5632 7563

49 127 8074

581 1735 4075

0 2235 5470

2178 5820 6179

16 3575 6054

1095 4564 6458

9 1581 5953

2537 6469 8552

14 3874 4844

0 3269 3551

2114 7372 7926

1875 2388 4057

3232 4042 6663

9 401 583

13 4100 6584

2299 4190 4410

21 3670 4979.

A seventh data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of27/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

658 706 898 1149 2577 2622 2772 3266 3329 5243 6079 6271

289 784 1682 3584 3995 4821 4856 5063 5974 6168 6437 6453

658 1426 2043 2065 2986 4118 4284 5394 5444 5477 5727 6018

641 928 1225 2841 4052 4840 4992 5268 5533 6249 6461 6475

2312 2917 3713 3849 4059 4241 4610 5440 5727 6101 6397 6444

1165 1592 1891 2154 3981 4817 5181 5748 5788 6012 6266 6350

13 2758 3069 4233 4697 5100 5279 5677 5919 5969 6280 6422

818 1500 2125 2340 3774 4707 4901 5170 5744 6008 6316 6353

857 3054 3409 3496 3704 4868 5326 6211 6292 6356 6367 6381

0 7 12 1709 2166 3418 3723 4887 5770 6043 6069 6431

2481 3379 4650 4900 4919 5060 5410 5425 6056 6173 6283 6386

15 814 854 1871 2934 3387 3915 5180 5303 5442 5581 5665

146 1882 3076 4458 4848 5252 5602 5778 5821 6213 6251 6401

2 947 1419 1566 3437 3646 4615 4634 4735 5819 5943 6280

1231 2309 2920 4158 4185 4298 4711 5082 5757 5762 6204 6209

257 297 337 2783 3230 4134 4480 4749 5295 5689 5921 6202

1436 2151 2629 3217 3930 4078 5386 5799 5906 6146 6226 6366

133 530 2448 4745 5000 5020 5227 5273 6211 6266 6431 6453

13 2644 3895 3898 4485 4722 5142 5462 5951 6031 6084 6351

6 3000 3873 3995 4680 5158 5504 5692 5755 6255 6338 6359

166 465 1658 2549 2941 4244 5071 5149 5452 5874 5939 6038

2309 2937 4282 4628 5113 5454 5731 5825 6021 6171 6402 6972

3 1077 2116 2426 2830 4853 5066 5571 5850 5916 6389 6421

817 1608 2229 2925 3281 4393 5042 5058 5377 5464 5588 6448

1848 3871 4381 4776 5366 5578 5648 6143 6389 6434 6465 6473

1263 1616 3150 3497 3759 4078 5530 5665 5694 5913 6397 6420

11 813 2185 2795 3349 4652 4678 5078 5509 6011 6286 6387

3060 3161 4584 4996 5143 5542 5697 5937 6141 6155 6342 6445

1638 2333 2632 3450 3505 3911 9399 4454 5499 5860 6044 6360

650 1744 4517

5772 6071 6471

3582 3622 5776

6153 6380 6446

3977 5932 6447

2071 4597 4891

11 1428 3776

1111 3874 5048

1410 2144 4445

4681 5481 6462

4044 5037 5497

2716 2891 6411

3299 4384 6224

1843 6087 6400

4664 5009 5856

1548 4383 5055

3172 4190 6373

5899 6443 6470

2572 3647 6240

1295 2158 6466

5604 6269 6368

3 5551 6454

3325 5797 6261

666 1397 5538

3069 4274 6410

4042 5992 6437

743 3075 3447

1344 2725 6386

283 2808 6303

2 4627 4632

26 1565 4000

4012 4946 6472

1629 6158 6467

6300 6351 6376

2969 4344 4440

2317 3115 4832

2099 5263 6285

2409 5868 5997

3752 4200 6350

3125 5841 6142

1 2249 6328

16 2525 6379

3198 5269 5960

4 1705 2069

990 4948 5520

1664 3836 4521

1765 4110 6454

9 1373 6387

1969 2405 6368

623 1428 3946

3111 6380 6436

1861 5611 5934

9 2444 3081

5508 6317

3184 4988 5995

1060 4803 6400

5021 5826 6289

1608 4754 5648

4702 6391 6421

3899 4811 6128

927 2286 5313

4123 6181 6453

2893 4150 5261

605 4332 5094

17 3518 6358

2858 6126 6478

15 1316 6465

2 2032 2983

5249 6340 6427

5 6003 6200

4478 6315 6420

5158 6390 6447

2598 3229 5399

3747 6424 6446

1412 2453 6332

5256 5715 6455

2137 3421 4368

15 3880 5245

17 3156 5638

3227 3798 6230

2094 3129 6458

1412 5573 5932

175 1182 6304

3555 6407 6463

583 1654 6339

14 6261 6449

3553 5383 5679

2092 2744 4153

0 4466 6472

11 3840 4354

17 5457 6222

1467 6083 6220

3449 3858 6337

3782 5318 6426

417 5038 5790

3571 5638 5873

6117 6241 6476

1898 5680 6219

3235 3817 6429

2095 4194 6224

2 4092 6448

5 6330 6383

285 5075 6334

10 505 2867

1183 5956 6466

839 4716 6471

984 3254 6432

1501 4790 6465

8 1457 1707

1660 1969 6438

4349 6182 6305

1423 3848 5490

1651 2969 6345

344 4164 6298

2397 6027 6274

2233 2778 6161

13 1778 2977

9 1916 3377

0 3 6190

395 4893 6394

3512 4098 6400

3490 6281 6473

12 1359 6465

4202 5179 6412

3007 3542 4271

2400 3350 6351

7 5490 5716

4695 5231 6266

777 6292 6402

919 4851 6367

6 644 3893

5386 6190 6434

17 169 4896.

An eighth data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 27/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

658 706 898 1149 2577 2622 2772 3266 3329 5243 6079 6271

289 784 1682 3584 3995 4821 4856 5063 5974 6168 6437 6453

658 1426 2043 2065 2986 4118 4284 5394 5444 5477 5727 6018

641 928 1225 2841 4052 4840 4992 5268 5533 6249 6461 6475

2312 2917 3713 3849 4059 4241 4610 5440 5727 6101 6397 6444

1165 1592 1891 2154 3981 4817 5181 5748 5788 6012 6266 6350

13 2758 3069 4233 4697 5100 5279 5677 5919 5969 6280 6422

818 1500 2125 2340 3774 4707 4901 5170 5744 6008 6316 6353

857 3054 3409 3496 3704 4868 5326 6211 6292 6356 6367 6381

0 7 12 1709 2166 3418 3723 4887 5770 6043 6069 6431

2481 3379 4650 4900 4919 5060 5410 5425 6056 6173 6283 6386

15 814 854 1871 2934 3387 3915 5180 5303 5442 5581 5665

146 1882 3076 4458 4848 5252 5602 5778 5821 6213 6251 6401

2 947 1419 1566 3437 3646 4615 4634 4735 5819 5943 6280

1231 2309 2920 4158 4185 4298 4711 5082 5757 5762 6204 6209

257 297 337 2783 3230 4134 4480 4749 5295 5689 5921 6202

1436 2151 2629 3217 3930 4078 5386 5799 5906 6146 6226 6366

133 530 2448 4745 5000 5020 5224 5273 6211 6266 6431 6453

13 2644 3895 3898 4485 4722 5142 5462 5951 6031 6084 6351

6 3000 3873 3995 4680 5158 5504 5692 5755 6255 6338 6359

166 465 1658 2549 2941 4244 5071 5149 5452 5874 5939 6038

2309 2937 4282 4628 5113 5454 5731 5825 6021 6171 6402 6472

3 1077 2116 2426 2830 4853 5066 5571 5850 5916 6389 6421

817 1608 2229 2925 3281 4393 5042 5058 5377 5464 5588 6448

1848 3871 4381 4776 5366 5578 5648 6143 6389 6434 6465 6473

1263 1616 3150 3497 3759 4078 5530 5665 5694 5913 6397 6420

11 813 2185 2795 3349 4652 4678 5078 5504 6011 6286 6387

3060 3161 4584 4996 5143 5542 5697 5937 6141 6155 6342 6445

1638 2333 2632 3450 3505 3911 4399 4454 5499 5860 6044 6360

650 1744 4517

5772 6071 6471

3582 3622 5776

6153 6380 6446

3977 5932 6447

2071 4597 4891

11 1428 3776

1111 3874 5048

1410 2144 4445

4681 5481 6462

4044 5037 5497

2716 2891 6411

3299 4384 6224

1843 6087 6400

4664 5009 5856

1548 4383 5055

3172 4190 6373

5899 6443 6470

2572 3647 6240

1295 2158 6466

5604 6269 6368

3 5551 6454

3325 5797 6261

666 1397 5538

3069 4274 6410

4042 5992 6437

743 3075 3447

1344 2725 6386

283 2808 6303

2 4627 4632

26 1565 4000

4012 4946 6472

1629 6158 6467

6300 6351 6376

2969 4344 4440

2317 3115 4832

2099 5263 6285

2409 5868 5997

3752 4200 6350

3125 5841 6142

1 2249 6328

16 2525 6379

3198 5269 5960

4 1705 2069

990 4948 5520

1664 3836 4521

1765 4110 6454

9 1373 6387

1969 2405 6368

623 1428 3946

3111 6380 6436

1861 5611 5934

9 2444 3081

5 5508 6317

3184 4988 5995

1060 4803 6400

5021 5826 6289

1608 4754 5648

4702 6391 6421

3899 4811 6128

927 2286 5313

4123 6181 6453

2893 4150 5261

605 4332 5094

17 3518 6358

2858 6126 6478

15 1316 6465

2 2032 2983

5249 6340 6427

5 6003 6200

4478 6315 6420

5158 6390 6447

2598 3229 5399

3747 6424 6446

1412 2453 6332

5256 5715 6455

2137 3421 4368

15 3880 5245

17 3156 5638

3227 3798 6230

2094 3129 6458

1412 5573 5932

175 1182 6304

3555 6407 6463

583 1654 6339

14 6261 6449

3553 5383 5679

2092 2744 4153

0 4466 6472

11 3840 4354

17 5457 6222

1467 6083 6220

3449 3858 6337

3782 5318 6426

417 5038 5790

3571 5638 5873

6117 6241 6476

1898 5680 6219

3235 3817 6429

2095 4194 6224

2 4092 6448

5 6330 6383

285 5075 6334

10 505 2867

1183 5956 6466

839 4716 6471

984 3254 6432

1501 4790 6465

8 1457 1707

1660 1969 6438

4349 6182 6305

1423 3848 5490

1651 2969 6345

344 4164 6298

2397 6027 6274

2233 2778 6161

13 1778 2977

9 1916 3377

0 3 6190

395 4893 6394

3512 4098 6400

3490 6281 6473

12 1359 6465

4202 5179 6412

3007 3542 4271

2400 3350 6351

7 5490 5716

4695 5231 6266

777 6292 6402

919 4851 6367

6 644 3893

5386 6190 6434

17 169 4896.

A ninth data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of28/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

85 314 1602 1728 1929 2295 2729 2924 3779 4054 4276

918 1378 1838 1903 2399 2524 2937 3615 3740 4140 4213

1361 1430 2639 2648 2910 3418 3511 3543 4177 4209 4248

472 1143 1318 1545 1830 2228 2249 2256 3626 3839 3991

226 1401 2154 2318 2851 3317 3468 3944 3983 4047 4093

490 1145 1247 1851 2671 2776 3152 3229 3345 3758 3786

522 1393 1473 2196 2707 3052 3398 3814 3827 4148 4301

417 1982 2176 2336 2459 2806 3005 3771 3870 4080 4243

112 1040 1596 1621 1685 2118 2571 3359 3945 4034 4171

646 1705 2181 2439 2808 2851 2987 3044 3494 4049 4312

6 11 115 245 663 1773 2624 3444 3601 3952 4246

11 541 1020 1326 2259 2347 2750 2861 3328 3428 4126

515 941 1233 1804 2295 2528 3265 3826 4002 4022 4224

46 484 679 1949 2342 2929 3555 3860 3918 4068 4113

1832 2023 2279 2376 2965 3278 3318 3549 3640 3843 3910

241 943 1222 1583 1637 2745 3338 4080 4086 4203 4300

11 1419 1841 2398 2920 3409 3703 3768 3878 4052 4254

878 2049 2123 2431 2657 2704 3135 3342 3728 4141 4162

16 837 1267 1410 2100 3026 3099 3107 4042 4129 4157

133 646 1367 1394 2118 2311 2676 2956 3195 3536 3657

698 1444 2129 2432 2494 2793 2947 3852 3985 4254 4319

11 1076 1618 1995 2332 2743 2934 3009 3565 4169 4188

14 20 808 2629 2681 3090 3491 3835 4017 4068 4083

433 1386 2416 2570 2950 3611 3869 3969 4248 4251 4316

384 1292 1534 2610 2617 3559 3638 3964 4131 4293 4313

271 564 1719 2288 2597 2674 3429 3455 3793 4074 4286

133 190 815 955 1485 2000 2860 3000 3734 4013 4287

559 771 1762 2537 2764 2816 3186 3806 3933 4224 4271

11 733 1198 1735 1856 2668 2754 3216 4070 4113 4311

4 806 1832 2047 2058 2724 3387 3793 3833 4005 4319

506 1456 2339 3069 3343 3442 3889 3939 4013 4212 4278

2038 3980 4313

64 2373 4080

800 1535 4166

1030 3759 4002

1687 3269 4225

1219 2632 3878

719 2916 4277

1261 1930 3459

777 1568 1914

4 397 3290

10 3451 4115

3629 3885 4155

2652 3668 4026

135 3172 4319

1426 1970 3657

199 1268 2064

570 845 2761

41 1067 3498

1588 2482 2750

1615 2013 2715

121 1812 2588

10 992 1082

1929 4225 4279

6 1967 3760

593 1812 4107

891 2146 4158

924 2282 3585

592 2971 4235

260 3493 4313

2423 3180 3449

2042 3118 3625

2877 3064 3882

7 2139 4316

4 7 2954

1398 3947 4272

3675 4253 4318

1561 1977 2432

2531 9192 4209

1032 1102 4268

75 1718 3438

925 1073 4171

2124 2762 4148

4 3455 4069

3 1279 3382

1277 1746 3969

2727 3127 4230

584 1108 3454

9 2057 3061

1608 4103 4310

2673 3164 3713

1379 4072 4318

950 3447 4146

2509 4255 4296

819 1352 3371

3562 3865 4041

940 1217 3607

114 2544 4310

4 2178 4213

2035 4246 4251

272 1236 2733

953 2762 4115

1853 3496 4309

1119 3740 4318

2051 4058 4317

0 3162 4207

2389 4034 4111

4 3395 4301

3716 4089 4198

6 4272 4311

1 4 1854

4238 4299 4305

7 10 3737

11 3764 4296

297 1912 4117

1087 1796 4056

2153 3882 4030

962 4043 4203

243 3841 4308

2183 3886 4216

943 1974 2897

278 3224 3933

3 4196 4245

3409 4301 4315

2 2176 3214

462 3203 4008

478 2178 4202

3593 3825 4216

115 2796 4225

3827 4196 4251

1375 4301 4306

296 407 2055

688 3913 4281

3446 3840 4314

1073 3444 4146

1556 2761 3391

2 3543 4264

1378 3397 4305

847 1952 2745

1 1743 4042

2087 3048 4254

1010 4073 4132

2610 4129 4152

4106 4120 4313

7 4282 4304

3885 4227 4319

1235 4105 4195

1700 2332 4224

9 3750 4282

1539 4013 4310

3734 3834 4011

1397 2758 3645

7 1000 2989

11 3433 4068

1139 1800 3352

8 546 2561

1 4209 4239

2366 4063 4282

279 2524 2533

657 1913 4006

2322 2623 2960

758 803 2304

9 13 4241

3887 4299 4318

2612 3830 4230

1300 1596 2155

3622 3671 4230

2491 3722 3977

735 3812 4201

3204 3796 4317

2727 4292 4305

1062 2676 4255

2777 3131 4286

2518 3352 3937

4225 4255 4317

3644 3822 4311

1853 3754 4094

599 2608 3276.

A tenth data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 28/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

85 314 1602 1728 1929 2295 2729 2924 3779 4054 4276

918 1378 1838 1903 2399 2524 2937 3615 3740 4140 4213

1361 1430 2639 2648 2910 3418 3511 3543 4177 4209 4248

472 1143 1318 1545 1830 2228 2249 2256 3626 3839 3991

226 1401 2154 2318 2851 3317 3468 3944 3983 4047 4093

490 1145 1247 1851 2671 2776 3152 3229 3345 3758 3786

522 1393 1473 2196 2707 3052 3398 3814 3827 4148 4301

417 1982 2176 2336 2459 2806 3005 3771 3870 4080 4243

112 1040 1596 1621 1685 2118 2571 3359 3945 4034 4171

646 1705 2181 2439 2808 2851 2987 3044 3494 4049 4312

6 11 115 245 663 1773 2624 3444 3601 3952 4246

11 541 1020 1326 2259 2347 2750 2861 3328 3428 4126

515 941 1233 1804 2295 2528 3265 3826 4002 4022 4224

46 484 679 1949 2342 2929 3555 3860 3918 4068 4113

1832 2023 2279 2376 2965 3278 3318 3549 3640 3843 3910

241 943 1222 1583 1637 2745 3338 4080 4086 4203 4300

11 1419 1841 2398 2920 3409 3703 3768 3878 4052 4254

878 2049 2123 2431 2657 2704 3135 3342 3728 4141 4162

16 837 1267 1410 2100 3026 3099 3107 4042 4129 4157

133 646 1367 1394 2118 2311 2676 2956 3195 3536 3657

698 1444 2129 2432 2494 2793 2947 3852 3985 4254 4319

11 1076 1618 1995 2332 2743 2934 3009 3565 4169 4188

14 20 808 2629 2681 3090 3491 3835 4017 4068 4083

433 1386 2416 2570 2950 3611 3869 3969 4248 4251 4316

384 1292 1534 2610 2617 3559 3638 3964 4131 4293 4313

271 564 1719 2288 2597 2674 3429 3455 3793 4074 4286

133 190 815 955 1485 2000 2860 3000 3734 4013 4287

559 771 1762 2537 2764 2816 3186 3806 3933 4224 4271

11 733 1198 1735 1856 2668 2754 3216 4070 4113 4311

4 806 1832 2047 2058 2724 3387 3793 3833 4005 4319

506 1456 2339 3069 3343 3442 3889 3939 4013 4212 4278

2038 3980 4313

64 2373 4080

800 1535 4166

1030 3759 4002

1687 3269 4225

1219 2632 3878

719 2916 4277

1261 1930 3459

777 1568 1914

4 397 3290

10 3451 4115

3629 3885 4155

2652 3668 4026

135 3172 4319

1426 1970 3657

199 1268 2064

570 845 2761

41 1067 3498

1588 2482 2750

1615 2013 2715

121 1812 2588

10 992 1082

1929 4225 4279

6 1967 3760

593 1812 4107

891 2146 4158

924 2282 3585

592 2971 4235

260 3493 4313

2423 3180 3449

2042 3118 3625

2877 3064 3882

7 2139 4316

4 7 2954

1398 3947 4272

3675 4253 4318

1561 1977 2432

2531 4192 4209

1032 1102 4268

75 1718 3438

925 1073 4171

2124 2762 4148

4 3455 4069

3 1279 3382

1277 1746 3969

2727 3127 4230

584 1108 3454

9 2057 3061

1608 4103 4310

2673 3164 3713

1379 4072 4318

950 3447 4146

2509 4255 4296

819 1352 3371

3562 3865 4041

940 1217 3607

114 2544 4310

4 2178 4213

2035 4246 4251

272 1236 2733

953 2762 4115

1853 3496 4309

1119 3740 4318

2051 4058 4317

0 3162 4207

2389 4034 4111

4 3395 4301

3716 4089 4198

6 4272 4311

1 4 1854

4238 4299 4305

7 10 3737

11 3764 4296

297 1912 4117

1087 1796 4056

2153 3882 4030

962 4043 4203

243 3841 4308

2183 3886 4216

943 1974 2897

278 3224 3933

3 4196 4245

3409 4301 4315

2 2176 3214

462 3203 4008

478 2178 4202

3593 3825 4216

115 2796 4225

3827 4196 4251

1375 4301 4306

296 407 2055

688 3913 4281

3446 3840 4314

1073 3444 4146

1556 2761 3391

2 3543 4264

1378 3347 4305

847 1952 2745

1 1743 4042

2087 3048 4254

1010 4073 4132

2610 9129 4152

4106 4120 4313

7 4282 4304

3885 4227 4319

1235 4105 4195

1700 2332 4224

9 3750 4282

1539 4013 4310

3734 3834 4011

1397 2758 3645

7 1000 2984

11 3433 4068

1139 1800 3352

8 546 2561

1 4209 4239

2366 4063 4282

279 2524 2533

657 1913 4006

2322 2623 2960

758 803 2304

9 13 4241

3887 4299 4318

2612 3830 4230

1300 1596 2155

3622 3671 4230

2491 3722 3977

735 3812 4201

3204 3796 4317

2727 4292 4305

1062 2676 4255

2777 3131 4286

2518 3352 3937

4225 4255 4317

3644 3822 4311

1853 3754 4094

599 2608 3276.

An eleventh data processing apparatus or data processing method of thepresent technology includes an encoding unit configured to encode or anencoding step of encoding information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of29/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including

212 499 911 940 1392

316 563 1527 2006 2077

2 1906 2043 2112 2123

537 901 1582 1812 1955

5 978 1280 1933 2145

5 2035 2044 2108 2121

5 939 1874 1974

4 1069 1758

694 2096 2106

1129 1511 1659

1564 2089 2159

2 1605 2004

474 1341 2003

103 2128 2150

1656 1993 2153

1881 2122 2138

1088 1968 2141

1 298 2073

1042 1724 2137

1253 1758 2145

1209 1566 2123

1466 2116 2155

43 2006 2049

592 1806 1865

3 143 2149

1158 1448 2002

1422 2152 2157

485 2119 2150

371 1831 2086

204 2042 2151

174 544 974

1469 1795 1995

13 708 1683

5 1144 2030

486 1309 1576

165 2030 2147

504 2073 2126

263 565 1798

239 861 1861

862 1610 1716

1346 1971 2128

5 804 1399

2139 2144 2155

4 2136 2159

1485 2059 2158

50 1091 1332

373 1730 2092

59 1086 1401

1166 1781 2065

213 2080 2154

492 1905 2110

1 1517 2126

722 1427 2146

885 991 1842

3 278 1806

967 1354 1907

1697 2047 2156

684 1924 2151

2077 2122 2157

978 2054 2135

435 2034 2150

136 1997 2125

1504 1850 2153

1404 1989 2119

109 1001 2152

780 1473 2150

198 1723 2062

927 2087 2138

1 666 2018

1293 1960 2141

1648 2033 2144

681 1578 1999

1342 2022 2157

949 1907 1994

138 1261 2135

3 608 982

1211 1501 2150

201 228 1186

1295 2089 2132

267 556 2142

801 2052 2122

1382 2135 2155

572 1503 1704

346 1183 2129

1926 2090 2149

1337 2133 2140

5 1806 2125

1383 1628 2068

1193 1626 2138

1999 2115 2146

217 274 2021

3 816 2024

1380 2138 2157

607 1385 2110

184 1195 2063

0 1767 2108

0 2081 2097

1135 2036 2128

1748 2001 2125

797 1552 1926

1046 1890 2128

291 1859 2131

1075 1214 1762

60 549 1943

581 1197 1232

1009 2026 2136

884 2002 2117

1 576 1449

519 1968 2114

5 1489 1630

1926 2037 2158

2 1249 2159

0 811 2114

2055 2152 2159

802 1911 2120

204 1033 2033

1840 2012 2037

1746 2111 2155

1098 1835 2157

2 1492 1831

353 1537 1830

375 1264 2036

2 1638 2035

1096 1971 2021

950 1809 1884

253 467 1600

5 379 1833

4 1698 1970

37 1637 2136

1174 1460 2157

612 1827 2134

1783 1802 1949

2029 2118 2151

1984 2030 2141

2 347 462

862 1693 2121

2 895 1401

4 1901 2100

1183 1674 2069

1575 1940 2158

5 1904 2097

1044 2029 2092

1441 1943 2150

0 3 1300

2 516 1735

503 1342 2019

1421 1914 2131

28 986 1467

1270 1851 1988

481 1265 2016

530 546 909

653 1909 2158

1805 2002 2149

2 1359 1518

1640 2104 2129

1656 2109 2155

1307 1762 2114

565 1647 2118

1690 2081 2156

1 300 1995

5 1681 2151

1602 2050 2156

1 1960 2153

2061 2070 2138

1581 1673 2142

1048 1142 2101

1867 1991 2055

856 1640 1878

251 561 966

343 1816 2114

3 966 2045

1885 1922 2158

57 556 2059

732 1724 2147.

A twelfth data processing apparatus or data processing method of thepresent technology includes a decoding unit configured to decode or adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 29/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including

212 499 911 940 1392

316 563 1527 2006 2077

2 1906 2043 2112 2123

537 901 1582 1812 1955

5 978 1280 1933 2145

5 2035 2044 2108 2121

5 939 1874 1974

4 1069 1758

694 2096 2106

1129 1511 1659

1564 2089 2159

2 1605 2004

474 1341 2003

103 2128 2150

1656 1996 2153

1881 2122 2138

1088 1968 2141

1 298 2073

1042 1724 2137

1253 1758 2145

1209 1566 2123

1466 2116 2155

43 2006 2049

592 1806 1865

3 143 2149

1158 1448 2002

1422 2152 2157

485 2119 2150

371 1831 2086

204 2042 2151

174 544 974

1469 1795 1995

13 708 1683

5 1144 2030

486 1309 1576

165 2030 2147

504 2073 2126

263 565 1798

239 861 1861

862 1610 1716

1346 1971 2128

5 804 1399

2139 2144 2155

4 2136 2159

1485 2059 2158

50 1091 1332

373 1730 2092

59 1086 1401

1166 1781 2065

213 2080 2154

492 1905 2110

1 1517 2126

722 1427 2146

885 991 1842

3 278 1806

967 1354 1907

1697 2047 2156

684 1924 2151

2077 2122 2157

978 2054 2135

435 2034 2150

136 1997 2125

1504 1850 2153

1404 1989 2119

109 1001 2152

780 1473 2150

198 1723 2062

927 2087 2138

1 666 2018

1293 1960 2141

1648 2033 2144

681 1578 1999

1342 2022 2157

949 1907 1994

138 1261 2135

3 608 982

1211 1501 2150

201 228 1186

1295 2089 2132

267 556 2142

801 2052 2122

1382 2135 2155

572 1503 1704

346 1183 2129

1926 2090 2149

1337 2133 2140

5 1806 2125

1383 1628 2068

1193 1626 2138

1999 2115 2146

217 274 2021

3 816 2024

1380 2138 2157

607 1385 2110

184 1195 2063

0 1767 2108

0 2081 2097

1135 2036 2128

1748 2001 2125

797 1552 1926

1046 1890 2128

291 1859 2131

1075 1214 1762

60 549 1943

581 1197 1232

1009 2026 2136

884 2002 2117

1 576 1449

519 1968 2114

5 1489 1630

1926 2037 2158

2 1249 2159

0 811 2114

2055 2152 2159

802 1911 2120

204 1033 2033

1840 2012 2037

1746 2111 2155

1098 1835 2157

2 1492 1831

353 1537 1830

375 1264 2036

2 1638 2035

1096 1971 2021

950 1809 1884

253 467 1600

5 379 1833

4 1698 1970

37 1637 2136

1174 1460 2157

612 1827 2134

1783 1802 1949

2029 2118 2151

1984 2030 2141

2 347 462

862 1693 2121

2 895 1401

4 1901 2100

1183 1674 2069

1575 1940 2158

5 1904 2097

1044 2029 2092

1441 1943 2150

0 3 1300

2 516 1735

503 1342 2019

1421 1914 2131

28 986 1467

1270 1851 1988

481 1265 2016

530 546 909

653 1909 2158

1805 2002 2149

2 1359 1518

1640 2104 2129

1656 2109 2155

1307 1762 2114

565 1647 2118

1690 2081 2156

1 300 1995

5 1681 2151

1602 2050 2156

1 1960 2153

2061 2070 2138

1581 1673 2142

1048 1142 2101

1867 1991 2055

856 1640 1878

251 561 966

343 1816 2114

3 966 2045

1885 1922 2158

57 556 2059

732 1724 2147.

In the present technology, information bits are encoded into an LDPC(Low Density Parity Check) code having a code length of 64800 bits and acode rate of 24/30, 25/30, 26/30, 27/30, 28/30, or 29/30 on the basis ofa parity check matrix of the LDPC code.

In the present technology, furthermore, an LDPC (Low Density ParityCheck) code having a code length of 64800 bits and a code rate of 24/30,25/30, 26/30, 27/30, 28/30, or 29/30 is decoded on the basis of theparity check matrix of an LDPC code.

The LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns.

A parity check matrix initial value table with a code rate of 24/30includes

1504 2103 2621 2840 3869 4594 5246 6314 7327 7364 10425 11934 1289812954

27 1903 3923 4513 7812 8098 8428 9789 10519 11345 12032 12157 1257312930

17 191 660 2451 2475 2976 3398 3616 5769 6724 8641 10046 11552 12842

13 1366 4993 6468 7689 8563 9131 10012 10914 11574 11837 12203 1271512946

432 872 2603 3286 3306 3385 4137 5563 7540 9339 9948 12315 12656 12929

1113 1394 4104 4186 7240 8827 11522 11833 12359 12363 12629 12821 1290412946

14 441 1432 1677 2432 8981 11478 11507 12599 12783 12793 12912 1292212943

1579 1806 7971 8586 9845 10357 11600 12007 12020 12339 12576 12817 1283012904

20 546 3672 5538 6944 8052 8781 9743 12269 12393 12418 12549 12555 12718

1 3540 4397 5011 6626 8617 9587 10360 10602 11402 11983 12068 1249512838

30 1572 4908 7421 8041 8910 8963 11005 11930 12240 12340 12467 1289212933

33 2060 3907 4215 5545 8306 8655 8743 8806 9315 9364 10685 11954 12959

1338 2596 4876 5207 9555 10421 10929 11648 11739 12375 12416 12643 1274212754

9469 10544 10932 11250 11426 11582 11846 12139 12202 12210 12356 1237812873 12929

2681 3337 3616 6113 7078 8167 8624 9697 10908 11781 11855 12095 1247512659

28 4086 5432 6555 6848 7368 8794 11483 11572 12414 12816 12894 1293612957

5 5044 5572 9023 9192 9589 9979 10009 10855 10991 11715 12314 1261012945

17 272 602 5681 6530 9572 9886 11061 11495 12238 12265 12483 12885 12955

22 2245 4282 4469 5007 6650 6733 10151 10401 11571 12004 12261 1280512844

23 3270 4468 8621 9662 11240 11934 12091 12444 12691 12717 12858 1288812917

740 1519 4923 6191 7878 8350 9293 10779 11020 11287 11630 12792 1286212920

12 28 3584 6072 7079 8075 10477 11130 11383 11780 12341 12667 1281812927

14 118 5283 5382 8301 9097 9413 9664 10437 10701 11124 12685 12730 12734

32 1426 3078 4325 5353 7780 9042 9928 10077 10377 10679 11191 1175012611

1 669 3831 3980 5381 5412 6552 8453 9435 10243 11546 11821 11987 12807

232 483 919 1232 2156 2396 2990 3774 8539 8704 8819 10810 11868 12634

2381 7309 9334

348 6494 12623

4872 6257 11090

7 11970 11985

6615 12788 12855

1173 5269 12647

1944 7738 8116

17 4828 9175

2329 6034 12642

1254 2366 5013

2984 5078 5664

7423 10265 11528

1656 8526 8716

22 287 2837

18 100 3079

299 3171 12169

33 5920 11144

1286 3650 9309

2283 8809 12588

3199 8242 9081

2507 6846 8113

5211 8722 12689

1064 2592 8659

6136 6925 12958

1256 12789 12932

4274 8045 8788

1824 3209 6926

11 8899 12669

6249 6338 8730

641 9679 12831

3459 9876 11185

3226 6148 8173

9078 12126 12771

10907 11278 12731

3392 4020 12838

2814 11588 12909

6063 9214 11519

6064 6827 12683

1610 2452 6582

903 6289 8074

4592 8138 12952

2587 6271 9945

2733 11844 11893

581 4601 10020

14 5597 6049

343 3582 5931

5263 6521 12846

1394 2457 5251

11 4627 12747

2650 10366 12390

6285 11893 12062

10143 12892 12956

8448 11917 12330

4209 11693 12356

1529 2360 9086

5389 8148 10224

64 4876 12862

9483 12659 12887

3587 6767 12478

3122 5245 9044

3267 10118 11466

1347 3857 6705

9384 9576 11971

1366 8708 10758

412 4249 12863

1676 10488 11850

17 1605 2455

14 111 6045

11368 12919 12953

10588 11530 12937

4549 5143 12218

3088 4185 11674

23 2554 7823

6615 9291 9863

2229 3629 10855

3818 5509 12764

2740 11525 12914

8297 8611 12948

3606 11104 12920

5097 10412 12759

6502 7266 12072

5425 5490 10728

22 73 8462

32 12439 12657

8483 9540 10430

7275 7377 7420

5748 9726 12356

5672 6150 9156

28 3527 5857

520 7099 11335

405 6173 12865

5847 12843 12934

4289 7679 10386

2950 8021 12938

8844 11214 12955

2130 10760 12665

734 4790 12940

8 6991 12772

19 8205 11289

12 1440 9077

8670 8837 12951

3531 9166 12937

15 8901 8929

838 10114 11740

2648 9959 10934

323 7499 12877

5505 5659 11395

6627 12709 12933

364 1976 12888

8213 9124 12793

9588 10088 11108

299 890 11634

7368 7598 11602

28 4669 12585

15 27 12474

1426 3614 4205

30 2087 11147

6226 6259 12941.

A parity check matrix initial value table with a code rate of 25/30includes

1860 2354 3967 4292 4488 5243 5373 5766 8378 9111 10468 10505 10774

24 2266 2380 3282 4255 4779 8729 9140 9566 10102 10661 10711 10797

605 650 1108 1669 2251 3133 5847 6197 6902 7545 10521 10600 10773

1016 1428 1612 2335 3102 3810 4926 5953 9964 10246 10569 10734 10784

3195 6308 8029 9030 9397 9461 9833 10239 10499 10675 10736 10757 10773

2 27 3641 4566 7332 9318 9323 9916 10365 10438 10561 10581 10750

2405 2458 4820 6232 6254 6347 7139 7474 8623 8779 8798 10747 10794

3164 4736 6474 7162 7420 7517 7835 8238 8412 8489 9006 10113 10440

20 2372 5561 5649 6907 8393 8505 9181 9567 9595 10388 10483 10714

1071 2899 5135 5780 6616 7111 7773 8582 9015 9912 10139 10387 10768

292 2833 5490 6011 6136 6713 7517 9096 10128 10328 10407 10525 10736

1044 3711 4421 5140 5207 8118 8749 8884 9205 10359 10372 10746 10784

3241 5696 6440 7240 7419 8613 8878 9593 9959 9997 10401 10404 10754

3133 4647 5912 6065 6694 7208 7346 8227 9465 9739 10452 10516 10770

2254 6444 7449 8095 8120 8710 9030 9162 9643 9968 10101 10571 10678

918 1445 2217 4262 4623 5401 5749 7446 7907 9539 10125 10514 10726

6 1341 1788 3105 4359 5263 5470 7552 8249 8644 10609 10674 10733

1994 3000 3151 3173 7742 8335 8438 8741 9232 9296 9817 10023 10257

467 1674 3016 3950 4055 5399 6688 7113 7273 8658 8702 9642 10545

2007 2541 3125 7380 7550 8122 8501 8665 9882 10403 10519 10594 10696

334 587 709 1540 2023 2876 6216 8768 9328 9481 10424 10507 10779

2165 4185 4306 5019 6961 7386 8447 9082 9837 10091 10461 10559 10570

7 903 2948 6312 6654 7738 7980 8312 9104 9743 10070 10278 10406

3047 3154 4160 4378 5461 8711 8809 9040 9173 9252 9537 9995 10735

2018 2355 3828 3854 6201 6696 8313 8459 8550 8833 9586 10202 10224

1402 1908 4286 4660 6029 6115 6737 7538 9495 9517 10055 10509 10644

3442 3589 3868 5051 5322 5580 8725 9046 9170 10041 10613 10681 10689

2733 7826 10622

3597 4753 7086

1394 7297 10264

2848 7502 10304

1649 2405 10783

647 2911 9069

2572 4006 7508

1361 8887 10103

3681 4023 9090

1496 4962 6325

2016 5120 9747

3954 5260 8568

3364 8719 10035

4208 4806 9973

29 3361 3490

1835 2317 10436

7312 8177 9041

7728 8097 10761

2109 7902 9685

5424 8943 9436

4369 7643 9152

2240 10140 10528

3435 6124 10604

8962 9357 10040

26 1931 8629

8275 10455 10643

8 24 4952

3995 6456 10633

28 10300 10337

4894 9286 9429

5587 6721 9120

1859 9198 9762

6374 6453 7011

1319 4530 5442

1507 10711 10798

2115 3445 3641

6668 9139 10163

4038 8117 10295

1479 3403 8247

2522 2934 3562

1526 5073 9650

2136 9820 10636

4214 8464 9891

8018 10330 10610

8984 10209 10647

3414 7272 8599

4883 9077 9525

22 8173 8425

2941 6536 10126

29 6540 7361

5 3787 10468

4264 4818 6906

3903 7041 10412

6078 7661 10619

6922 9723 9890

5112 5416 6253

5925 9961 10447

9 10311 10598

8790 8814 10793

4768 5466 10664

10 10675 10766

6819 8705 10737

17 769 6692

1503 10696 10742

1285 4632 8976

4279 4973 7907

4650 4775 10785

28 729 10331

1914 5240 10723

3569 4921 9561

4 9442 10796

494 2328 9507

1717 8768 10750

9540 10599 10774

11 10075 10644

10246 10607 10753

5510 7088 9053

1347 3584 5523

7872 10596 10736

628 10592 10695

5632 5688 10627

2375 10009 10561

4169 4630 8871

2896 10038 10521

89 9695 9799

20 7563 9069

4534 10321 10697

8212 9868 10716

7485 9312 10327

234 536 6293

5515 7350 9251

283 3182 7167

2444 5378 6130

6183 8315 10726

43 4871 8347

2427 10219 10728

10 21 9448

1067 8312 8420

9793 9522 10105

4688 10536 10724

3825 7496 10709

682 8544 10449

2794 7110 10741

9279 10741 10767

2897 5442 8771

33 7957 10460

5 10393 10792

6225 10224 10798

23 9014 10786

7836 8339 8642

3476 5455 9788

1939 10251 10384

4008 7890 10450

926 2090 3804

1038 2497 10701

22 6220 8405

5153 5944 10367

7260 7726 9529

3039 8397 10665

7262 9644 10083

5531 6248 10795

7926 8248 8413

4649 8971 10182.

A parity check matrix initial value table with a code rate of 26/30includes

142 2307 2598 2650 4028 4434 5781 5881 6016 6323 6681 6698 8125

2932 4928 5248 5256 5983 6773 6828 7789 8426 8494 8534 8539 8583

899 3295 3833 5399 6820 7400 7753 7890 8109 8451 8529 8564 8602

21 3060 4720 5429 5636 5927 6966 8110 8170 8247 8355 8365 8616

20 1745 2838 3799 4380 4418 4646 5059 7343 8161 8302 8456 8631

9 6274 6725 6792 7195 7333 8027 8186 8209 8273 8442 8548 8632

494 1365 2405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625

192 574 1179 4387 4695 5089 5831 7673 7789 8298 8301 8612 8632

11 20 1406 6111 6176 6256 6708 6834 7828 8232 8457 8495 8602

6 2654 3554 4483 4966 5866 6795 8069 8249 8301 8497 8509 8623

21 1144 2355 3124 6773 6805 6887 7742 7994 8358 8374 8580 8611

335 4473 4883 5528 6096 7543 7586 7921 8197 8319 8394 8489 8636

2919 4331 4419 4735 6366 6393 6844 7193 8165 8205 8544 8586 8617

12 19 742 930 3009 4330 6213 6224 7292 7430 7792 7922 8137

710 1439 1588 2434 3516 5239 6248 6827 8230 8448 8515 8581 8619

200 1075 1868 5581 7349 7642 7698 8037 8201 8210 8320 8391 8526

3 2501 4252 5256 5292 5567 6136 6321 6430 6486 7571 8521 8636

3062 4599 5885 6529 6616 7314 7319 7567 8024 8153 8302 8372 8598

105 381 1574 4351 5452 5603 5943 7467 7788 7933 8362 8525 8537

15 1118 4226 5197 5575 5761 6762 7038 8260 8338 8444 8512 8568

36 5216 5368 5616 6029 6591 8038 8067 8299 8351 8565 8578 8585

1 23 4300 4530 5426 5532 5817 6967 7124 7979 8022 8270 8437

629 2133 4828 5475 5875 5890 7194 8042 8345 8385 8518 8598 8612

11 1065 3782 4237 4993 7104 7863 7904 8104 8228 8321 8383 8565

2131 2274 3168 3215 3220 5597 6347 7812 8238 8354 8527 8557 8614

5600 6591 7491 7696

1766 8281 8626

1725 2280 5120

1650 3445 7652

4312 6911 8626

15 1013 5892

2263 2546 2979

1545 5873 7406

67 726 3697

2860 6443 8542

17 911 2820

1561 4580 6052

79 5269 7134

22 2410 2424

3501 5642 8627

808 6950 8571

4099 6389 7482

4023 5000 7833

5476 5765 7917

1008 3194 7207

20 495 5411

1703 8388 8635

6 4395 4921

200 2053 8206

1089 5126 5562

10 4193 7720

1967 2151 4608

22 738 3513

3385 5066 8152

440 1118 8537

3429 6058 7716

5213 7519 8382

5564 8365 8620

43 3219 8603

4 5409 5815

5 6376 7654

4091 5724 5953

5348 6754 8613

1634 6398 6632

72 2058 8605

3497 5811 7579

3846 6743 8559

15 5933 8629

2133 5859 7068

4151 4617 8566

2960 8270 8410

2059 3617 8210

544 1441 6895

4043 7482 8592

294 2180 8524

3058 8227 8373

364 5756 8617

5383 8555 8619

1704 2480 4181

7338 7929 7990

2615 3905 7981

4298 4548 8296

8262 8319 8630

892 1893 8028

5694 7237 8595

1487 5012 5810

4335 8593 8624

3509 9531 5273

10 22 830

4161 5208 6280

275 7063 8634

4 2725 3113

2279 7403 8174

1637 3328 3930

2810 4939 5624

3 1234 7687

2799 7740 8616

22 7701 8636

4302 7857 7993

7477 7794 8592

9 6111 8591

5 8606 8628

347 3497 4033

1747 2613 8636

1827 5600 7042

580 1822 6842

232 7134 7783

4629 5000 7231

951 2806 4947

571 3474 8577

2437 2496 7945

23 5873 8162

12 1168 7686

8315 8540 8596

1766 2506 4733

929 1516 3338

21 1216 6555

782 1452 8617

8 6083 6087

667 3240 4583

4030 4661 5790

559 7122 8553

3202 4388 4909

2533 3673 8594

1991 3954 6206

6835 7900 7980

189 5722 8573

2680 4928 4998

243 2579 7735

4281 8132 8566

7656 7671 8609

1116 2291 4166

21 388 8021

6 1123 8369

311 4918 8511

0 3248 6290

13 6762 7172

4209 5632 7563

49 127 8074

581 1735 4075

0 2235 5470

2178 5820 6179

16 3575 6054

1095 4564 6458

9 1581 5953

2537 6469 8552

14 3874 4844

0 3269 3551

2114 7372 7926

1875 2388 4057

3232 4042 6663

9 401 583

13 4100 6584

2299 4190 4410

21 3670 4979.

A parity check matrix initial value table with a code rate of 27/30includes

658 706 898 1149 2577 2622 2772 3266 3329 5243 6079 6271

289 784 1682 3584 3995 4821 4856 5063 5974 6168 6437 6453

658 1426 2043 2065 2986 4118 4284 5394 5444 5477 5727 6018

641 928 1225 2841 4052 4840 4992 5268 5533 6249 6461 6475

2312 2917 3713 3849 4059 4241 4610 5440 5727 6101 6397 6444

1165 1592 1891 2154 3981 4817 5181 5748 5788 6012 6266 6350

13 2758 3069 4233 4697 5100 5279 5677 5919 5969 6280 6422

818 1500 2125 2340 3774 4707 4901 5170 5744 6008 6316 6353

857 3054 3409 3496 3704 4868 5326 6211 6292 6356 6367 6381

0 7 12 1709 2166 3418 3723 4887 5770 6043 6069 6431

2481 3379 4650 4900 4919 5060 5410 5425 6056 6173 6283 6386

15 814 854 1871 2934 3387 3915 5180 5303 5442 5581 5665

146 1882 3076 4458 4848 5252 5602 5778 5821 6213 6251 6401

2 947 1419 1566 3437 3646 9615 4634 4735 5819 5943 6280

1231 2309 2920 4158 4185 4298 4711 5082 5757 5762 6204 6209

257 297 337 2783 3230 4134 4480 4749 5295 5689 5921 6202

1436 2151 2629 3217 3930 4078 5386 5799 5906 6146 6226 6366

133 530 2448 4745 5000 5020 5224 5273 6211 6266 6431 6453

13 2644 3895 3898 4485 4722 5142 5462 5951 6031 6084 6351

6 3000 3873 3995 4680 5158 5504 5692 5755 6255 6338 6359

166 465 1658 2549 2941 4244 5071 5149 5452 5874 5939 6038

2309 2937 4282 4628 5113 5454 5731 5825 6021 6171 6402 6472

3 1077 2116 2426 2830 4853 5066 5571 5850 5916 6389 6421

817 1608 2229 2925 3281 4393 5042 5058 5377 5464 5588 6448

1848 3871 4381 4776 5366 5578 5648 6143 6389 6434 6465 6473

1263 1616 3150 3497 3759 4078 5530 5665 5694 5913 6397 6420

11 813 2185 2795 3349 4652 4678 5078 5504 6011 6286 6387

3060 3161 4584 4996 5143 5542 5697 5937 6141 6155 6342 6445

1638 2333 2632 3450 3911 4399 4454 5499 5860 6044 6360

650 1744 4517

5772 6071 6471

3582 3622 5776

6153 6380 6446

3977 5932 6447

2071 4597 4891

11 1428 3776

1111 3874 5048

1410 2144 4445

4681 5481 6462

4044 5037 5497

2716 2891 6411

3299 4384 6224

1843 6087 6400

4664 5009 5856

1548 4383 5055

3172 4190 6373

5899 6443 6470

2572 3647 6240

1295 2158 6466

5604 6269 6368

3 5551 6454

3325 5797 6261

666 1397 5538

3069 4274 6410

4042 5992 6437

743 3075 3447

1344 2725 6386

283 2808 6303

2 4627 4632

26 1565 4000

4012 4946 6472

1629 6158 6467

6300 6351 6376

2969 4344 4440

2317 3115 4832

2099 5263 6285

2409 5868 5997

3752 4200 6350

3125 5841 6142

1 2249 6328

16 2525 6379

3198 5269 5960

4 1705 2069

990 4948 5520

1664 3836 4521

1765 4110 6454

6 1373 6387

1969 2405 6368

623 1428 3946

3111 6380 6436

1861 5611 5934

9 2444 3081

5 5508 6317

3184 4988 5995

1060 4803 6400

5021 5826 6289

1608 4754 5648

4702 6391 6421

3899 4811 6128

927 2286 5313

4123 6181 6453

2893 4150 5261

605 4332 5094

17 3518 6358

2858 6126 6478

15 1316 6465

2 2032 2983

5249 6340 6427

5 6003 6200

4478 6315 6420

5158 6390 6447

2598 3229 5399

3747 6424 6446

1412 2453 6332

5256 5715 6455

2137 3421 4368

15 3880 5245

17 3156 5638

3227 3798 6230

2094 3129 6458

1412 5573 5932

175 1182 6304

3555 6407 6463

583 1654 6339

14 6261 6449

3553 5383 5679

2092 2744 4153

0 4466 6472

11 3840 4354

17 5457 6222

1467 6083 6220

3449 3858 6337

3782 5318 6426

417 5038 5790

3571 5638 5873

6117 6241 6476

1898 5680 6219

3235 3817 6429

2095 4194 6224

2 4092 6448

5 6330 6383

285 5075 6334

10 505 2867

1183 5956 6466

839 4716 6471

984 3254 6432

1501 4790 6465

8 1457 1707

1660 1969 6438

4349 6182 6305

1423 3848 5490

1651 2969 6345

344 4164 6298

2397 6027 6274

2233 2778 6161

13 1778 2977

9 1916 3377

0 3 6190

395 4893 6394

3512 4098 6400

3490 6281 6473

12 1359 6465

4202 5179 6412

3007 3542 4271

2400 3350 6351

7 5490 5716

4695 5231 6266

777 6292 6402

919 4851 6367

6 644 3893

5386 6190 6434

17 169 4896.

A parity check matrix initial value table with a code rate of 28/30includes

85 314 1602 1728 1929 2295 2729 2924 3779 4054 4276

918 1378 1838 1903 2399 2524 2937 3615 3740 4140 4213

1361 1430 2639 2648 2910 3418 3511 3543 4177 4209 4248

472 1143 1318 1545 1830 2228 2249 2256 3626 3839 3991

226 1401 2154 2318 2851 3317 3468 3944 3983 4047 4093

490 1145 1247 1851 2671 2776 3152 3229 3345 3758 3786

522 1393 1473 2196 2707 3052 3398 3814 3827 4148 4301

417 1982 2176 2336 2459 2806 3005 3771 3870 4080 4243

112 1040 1596 1621 1685 2118 2571 3359 3945 4034 4171

646 1705 2181 2439 2808 2851 2987 3044 3494 4049 4312

6 11 115 245 663 1773 2624 3444 3601 3952 4246

11 541 1020 1326 2259 2397 2750 2861 3328 3428 4126

515 941 1233 1804 2295 2528 3265 3826 4002 4022 4224

46 484 679 1949 2342 2929 3555 3860 3918 4068 4113

1832 2023 2279 2376 2965 3278 3318 3549 3640 3843 3910

241 943 1222 1583 1637 2745 3338 4080 4086 4203 4300

11 1419 1841 2398 2920 3409 3703 3768 3878 4052 4254

878 2049 2123 2431 2657 2704 3135 3342 3728 4141 4162

16 837 1267 1410 2100 3026 3099 3107 4042 4129 4157

133 646 1367 1394 2118 2311 2676 2956 3195 3536 3657

698 1444 2129 2432 2494 2793 2947 3852 3985 4254 4319

11 1076 1618 1995 2332 2743 2934 3009 3565 4169 4188

14 20 808 2629 2681 3090 3491 3835 4017 4068 4083

433 1386 2416 2570 2950 3611 3869 3969 4248 4251 4316

384 1292 1534 2610 2617 3559 3638 3964 4131 4293 4313

271 564 1719 2288 2597 2674 3429 3455 3793 4074 4286

133 190 815 955 1485 2000 2860 3000 3734 4013 4287

559 771 1762 2537 2764 2816 3186 3806 3933 4224 4271

11 733 1198 1735 1856 2668 2754 3216 4070 4113 4311

4 806 1832 2047 2058 2724 3387 3793 3833 9005 4319

506 1456 2339 3069 3343 3942 3889 3939 4013 4212 4278

2038 3980 4313

64 2373 4080

800 1535 4166

1030 3759 4002

1687 3269 4225

1219 2632 3878

719 2916 4277

1261 1930 3459

777 1568 1914

4 397 3290

10 3451 4115

3629 3885 4155

2652 3668 4026

135 3172 4319

1426 1970 3657

199 1268 2064

570 845 2761

41 1067 3498

1588 2482 2750

1615 2013 2715

121 1812 2588

10 992 1082

1929 4225 4279

6 1967 3760

593 1812 4107

891 2146 4158

924 2282 3585

592 2971 4235

260 3493 4313

2423 3180 3449

2042 3118 3625

2877 3064 3882

7 2139 4316

4 7 2954

1398 3947 4272

3675 4253 4318

1561 1977 2432

2531 4192 4209

1032 1102 4268

75 1718 3438

925 1073 4171

2124 2762 4148

4 3455 4069

3 1279 3382

1277 1746 3969

2727 3127 4230

584 1108 3454

9 2057 3061

1608 4103 4310

2673 3164 3713

1379 4072 4318

950 3447 4146

2509 4255 4296

819 1352 3371

3562 3865 4041

940 1217 3607

114 2544 4310

4 2178 4213

2035 4246 4251

272 1236 2733

953 2762 4115

1853 3496 4309

1119 3740 4318

2051 4058 4317

0 3162 4207

2389 4034 4111

4 3395 4301

3716 4089 4198

6 4272 4311

1 4 1854

4238 4299 4305

7 10 3737

11 3764 4296

297 1912 4117

1087 1796 4056

2153 3882 4030

962 4043 4203

243 3841 4308

2183 3886 4216

943 1974 2897

278 3224 3933

3 4196 4245

3409 4301 4315

2 2176 3214

462 3203 4008

478 2178 4202

3593 3825 4216

115 2796 4225

3827 4196 4251

1375 4301 4306

296 407 2055

688 3913 4281

3446 3840 4314

1073 3444 4146

1556 2761 3391

2 3543 4264

1378 3347 4305

847 1952 2745

1 1743 4042

2087 3048 4254

1010 4073 4132

2610 4129 4152

4106 4120 4313

7 4282 4304

3885 4227 4319

1235 4105 4195

1700 2332 4224

9 3750 4282

1539 4013 4310

3734 3834 4011

1397 2758 3645

7 1000 2984

11 3433 4068

1139 1800 3352

8 546 2561

1 4209 4239

2366 4063 4282

279 2524 2533

657 1913 4006

2322 2623 2960

758 803 2304

9 13 4241

3887 4299 4318

2612 3830 4230

1300 1596 2155

3622 3671 4230

2491 3722 3977

735 3812 4201

3204 3796 4317

2727 4292 4305

1062 2676 4255

2777 3131 4286

2518 3352 3937

4225 4255 4317

3644 3822 4311

1853 3754 4094

599 2608 3276.

A parity check matrix initial value table with a code rate of 29/30includes

212 499 911 940 1392

316 563 1527 2006 2077

2 1906 2043 2112 2123

537 901 1582 1812 1955

5 978 1280 1933 2145

5 2035 2044 2108 2121

5 939 1874 1974

4 1069 1758

694 2096 2106

1129 1511 1659

1564 2089 2159

2 1605 2004

474 1341 2003

103 2128 2150

1656 1993 2153

1881 2122 2138

1088 1968 2141

1 298 2073

1042 1724 2137

1253 1758 2145

1209 1566 2123

1466 2116 2155

43 2006 2049

592 1806 1865

3 143 2149

1158 1448 2002

1422 2152 2157

485 2119 2150

371 1831 2086

204 2042 2151

174 544 974

1469 1795 1995

13 708 1683

5 1144 2030

486 1309 1576

165 2030 2147

504 2073 2126

263 565 1798

239 861 1861

862 1610 1716

1346 1971 2128

5 804 1399

2139 2144 2155

4 2136 2159

1485 2059 2158

50 1091 1332

373 1730 2092

59 1086 1401

1166 1781 2065

213 2080 2154

492 1905 2110

1 1517 2126

722 1427 2146

885 991 1842

3 278 1806

967 1354 1907

1697 2047 2156

684 1924 2151

2077 2122 2157

978 2054 2135

435 2034 2150

136 1997 2125

1504 1850 2153

1404 1989 2119

109 1001 2152

780 1473 2150

198 1723 2062

927 2087 2138

1 666 2018

1293 1960 2141

1648 2033 2144

681 1578 1999

1342 2022 2157

949 1907 1994

138 1261 2135

3 608 982

1211 1501 2150

201 228 1186

1295 2089 2132

267 556 2142

801 2052 2122

1382 2135 2155

572 1503 1704

346 1183 2129

1926 2090 2149

1337 2133 2140

5 1806 2125

1383 1628 2068

1193 1626 2138

1999 2115 2146

217 274 2021

3 816 2024

1380 2138 2157

607 1385 2110

184 1195 2063

0 1767 2108

0 2081 2097

1135 2036 2128

1748 2001 2125

797 1552 1926

1046 1890 2128

291 1859 2131

1075 1214 1762

60 549 1943

581 1197 1232

1009 2026 2136

884 2002 2117

1 576 1449

519 1968 2114

5 1489 1630

1926 2037 2158

2 1249 2159

0 811 2114

2055 2152 2159

802 1911 2120

204 1033 2033

1840 2012 2037

1746 2111 2155

1098 1835 2157

2 1492 1831

353 1537 1830

375 1264 2036

2 1638 2035

1096 1971 2021

950 1809 1884

253 467 1600

5 379 1833

4 1698 1970

37 1637 2136

1174 1460 2157

612 1827 2134

1783 1802 1949

2029 2118 2151

1984 2030 2141

2 347 462

862 1693 2121

2 895 1401

4 1901 2100

1183 1674 2069

1575 1940 2158

5 1904 2097

1044 2029 2092

1441 1943 2150

0 3 1300

2 516 1735

503 1342 2019

1421 1914 2131

28 986 1467

1270 1851 1988

481 1265 2016

530 546 909

653 1909 2158

1805 2002 2149

2 1359 1518

1640 2104 2129

1656 2109 2155

1307 1762 2114

565 1647 2118

1690 2081 2156

1 300 1995

5 1681 2151

1602 2050 2156

1 1960 2153

2061 2070 2138

1581 1673 2142

1048 1142 2101

1867 1991 2055

856 1640 1878

251 561 966

343 1816 2114

3 966 2045

1885 1922 2158

57 556 2059

732 1724 2147.

Note that each data processing apparatus may be an independentapparatus, or may be an internal block in a single apparatus.

Advantageous Effects of Invention

According to the present technology, it is possible to provide LDPCcodes having good error-rate performance.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram depicting a parity check matrix H of an LDPC code.

FIG. 2 is a flowchart depicting an LDPC code decoding procedure.

FIG. 3 is a diagram illustrating an example of a parity check matrix ofan LDPC code.

FIG. 4 is a diagram illustrating a Tanner graph of a parity checkmatrix.

FIG. 5 is a diagram illustrating a variable node.

FIG. 6 is a diagram illustrating a check node.

FIG. 7 is a diagram illustrating an example configuration of anembodiment of a transmission system to which the present technologyapplies.

FIG. 8 is a block diagram illustrating an example configuration of atransmitting device 11.

FIG. 9 is a block diagram illustrating an example configuration of a bitinterleaver 116.

FIG. 10 is a diagram illustrating a parity check matrix.

FIG. 11 is a diagram illustrating a parity matrix.

FIG. 12 is a diagram depicting a parity check matrix of an LDPC codedefined in the DVB-S.2 standard.

FIG. 13 is a diagram depicting a parity check matrix of an LDPC codedefined in the DVB-S.2 standard.

FIG. 14 includes diagrams illustrating an arrangement of constellationpoints of 16QAM.

FIG. 15 is a diagram illustrating arrangements of constellation pointsof 64QAM.

FIG. 16 is a diagram illustrating arrangements of constellation pointsof 64QAM.

FIG. 17 is a diagram illustrating arrangements of constellation pointsof 64QAM.

FIG. 18 is a diagram illustrating an arrangement of constellation pointsdefined in the DVB-S.2 standard.

FIG. 19 is a diagram illustrating an arrangement of constellation pointsdefined in the DVB-S.2 standard.

FIG. 20 includes diagrams illustrating an arrangement of constellationpoints defined in the DVB-S.2 standard.

FIG. 21 includes diagrams illustrating an arrangement of constellationpoints defined in the DVB-S.2 standard.

FIG. 22 includes diagrams depicting the processing of a demultiplexer25.

FIG. 23 includes diagrams depicting the processing of the demultiplexer25.

FIG. 24 is a diagram illustrating a Tanner graph for LDPC code decoding.

FIG. 25 includes diagrams illustrating a parity matrix H_(T) having astepwise structure, and a Tanner graph corresponding to the paritymatrix H_(T).

FIG. 26 is a diagram illustrating a parity matrix H_(T) of a paritycheck matrix H corresponding to an LDPC code that has been subjected toparity interleaving.

FIG. 27 includes diagrams illustrating a transformed parity checkmatrix.

FIG. 28 is a diagram depicting the processing of a column twistinterleaver 24.

FIG. 29 is a diagram illustrating the numbers of columns of a memory 31which are necessary for column twist interleaving, and the addresses ofwrite start positions.

FIG. 30 is a diagram illustrating the numbers of columns of the memory31 which are necessary for column twist interleaving, and the addressesof write start positions.

FIG. 31 is a flowchart depicting a process performed by the bitinterleaver 116 and a QAM encoder 117.

FIG. 32 includes diagrams illustrating a model of a communication pathused in simulations.

FIG. 33 is a diagram illustrating relationships between Dopplerfrequencies f_(d) of flutters and error rates obtained in simulations.

FIG. 34 is a diagram illustrating relationships between Dopplerfrequencies f_(d) of flutters and error rates obtained in thesimulations.

FIG. 35 is a block diagram illustrating an example configuration of anLDPC encoder 115.

FIG. 36 is a flowchart depicting a process of the LDPC encoder 115.

FIG. 37 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 1/4 and the code length 16200.

FIG. 38 is a diagram depicting a method for determining a parity checkmatrix H from a parity check matrix initial value table.

FIG. 39 is a diagram illustrating the BER/FER characteristics of an LDPCcode having a code length of 64800 bits, which is defined in the DVB-S.2standard.

FIG. 40 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 2/30 and the code length 64800.

FIG. 41 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 3/30 and the code length 64800.

FIG. 42 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 4/30 and the code length 64800.

FIG. 43 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 5/30 and the code length 64800.

FIG. 44 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 6/30 and the code length 64800.

FIG. 45 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 7/30 and the code length 64800.

FIG. 46 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 8/30 and the code length 64800.

FIG. 47 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 8/30 and the code length 64800.

FIG. 48 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 9/30 and the code length 64800.

FIG. 49 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 9/30 and the code length 64800.

FIG. 50 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 10/30 and the code length 64800.

FIG. 51 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 10/30 and the code length 64800.

FIG. 52 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 11/30 and the code length 64800.

FIG. 53 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 11/30 and the code length 64800.

FIG. 54 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 12/30 and the code length 64800.

FIG. 55 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 12/30 and the code length 64800.

FIG. 56 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 13/30 and the code length 64800.

FIG. 57 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 13/30 and the code length 64800.

FIG. 58 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 14/30 and the code length 64800.

FIG. 59 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 14/30 and the code length 64800.

FIG. 60 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 15/30 and the code length 64800.

FIG. 61 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 15/30 and the code length 64800.

FIG. 62 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 16/30 and the code length 64800.

FIG. 63 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 16/30 and the code length 64800.

FIG. 64 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 16/30 and the code length 64800.

FIG. 65 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 17/30 and the code length 64800.

FIG. 66 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 17/30 and the code length 64800.

FIG. 67 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 17/30 and the code length 64800.

FIG. 68 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 18/30 and the code length 64800.

FIG. 69 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 18/30 and the code length 64800.

FIG. 70 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 18/30 and the code length 64800.

FIG. 71 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 19/30 and the code length 64800.

FIG. 72 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 19/30 and the code length 64800.

FIG. 73 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 19/30 and the code length 64800.

FIG. 74 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 20/30 and the code length 64800.

FIG. 75 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 20/30 and the code length 64800.

FIG. 76 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 20/30 and the code length 64800.

FIG. 77 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 21/30 and the code length 64800.

FIG. 78 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 21/30 and the code length 64800.

FIG. 79 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 21/30 and the code length 64800.

FIG. 80 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 22/30 and the code length 64800.

FIG. 81 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 22/30 and the code length 64800.

FIG. 82 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 22/30 and the code length 64800.

FIG. 83 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 23/30 and the code length 64800.

FIG. 84 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 23/30 and the code length 64800.

FIG. 85 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 23/30 and the code length 64800.

FIG. 86 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 24/30 and the code length 64800.

FIG. 87 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 24/30 and the code length 64800.

FIG. 88 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 24/30 and the code length 64800.

FIG. 89 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 25/30 and the code length 64800.

FIG. 90 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 25/30 and the code length 64800.

FIG. 91 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 25/30 and the code length 64800.

FIG. 92 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 26/30 and the code length 64800.

FIG. 93 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 26/30 and the code length 64800.

FIG. 94 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 26/30 and the code length 64800.

FIG. 95 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 27/30 and the code length 64800.

FIG. 96 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 27/30 and the code length 64800.

FIG. 97 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 27/30 and the code length 64800.

FIG. 98 is a diagram illustrating the example of the parity check matrixinitial value table with the code rate 27/30 and the code length 64800.

FIG. 99 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 28/30 and the code length 64800.

FIG. 100 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 28/30 and the code length64800.

FIG. 101 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 28/30 and the code length64800.

FIG. 102 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 28/30 and the code length64800.

FIG. 103 is a diagram illustrating an example of a parity check matrixinitial value table with the code rate 29/30 and the code length 64800.

FIG. 104 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 29/30 and the code length64800.

FIG. 105 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 29/30 and the code length64800.

FIG. 106 is a diagram illustrating the example of the parity checkmatrix initial value table with the code rate 29/30 and the code length64800.

FIG. 107 is a diagram illustrating an example of a Tanner graph of anensemble defined by a degree sequence indicating a column weight of 3and a row weight of 6.

FIG. 108 is a diagram illustrating an example of a Tanner graph of amulti-edge type ensemble.

FIG. 109 is a diagram illustrating minimum cycle lengths and performancethresholds for parity check matrices of LDPC codes with the code length64800.

FIG. 110 is a diagram depicting a parity check matrix of an LDPC codewith the code length 64800.

FIG. 111 is a diagram depicting parity check matrices of LDPC codes withthe code length 64800.

FIG. 112 is a diagram illustrating simulated BERs/FERs of LDPC codeswith the code length 64800.

FIG. 113 is a diagram illustrating simulated BERs/FERs of LDPC codeswith the code length 64800.

FIG. 114 is a diagram illustrating simulated BERs/FERs of LDPC codeswith the code length 64800.

FIG. 115 includes diagrams illustrating BCH codes used in simulations ofBERs/FERs of LDPC codes with the code length 64800.

FIG. 116 is a block diagram illustrating an example configuration of areceiving device 12.

FIG. 117 is a block diagram illustrating an example configuration of abit deinterleaver 165.

FIG. 118 is a flowchart depicting a process performed by a QAM decoder164, the bit deinterleaver 165, and an LDPC decoder 166.

FIG. 119 is a diagram illustrating an example of a parity check matrixof an LDPC code.

FIG. 120 is a diagram illustrating a matrix (transformed parity checkmatrix) obtained by performing row permutation and column permutation ona parity check matrix.

FIG. 121 is a diagram illustrating a transformed parity check matrixthat is divided into 5×5 units.

FIG. 122 is a block diagram illustrating an example configuration of adecoding device that collectively performs node computation for P nodes.

FIG. 123 is a block diagram illustrating an example configuration of theLDPC decoder 166.

FIG. 124 includes diagrams depicting a process of a multiplexer 54included in the bit deinterleaver 165.

FIG. 125 is a diagram depicting the processing of a column twistdeinterleaver 55.

FIG. 126 is a block diagram illustrating another example configurationof the bit deinterleaver 165.

FIG. 127 is a block diagram illustrating a first example configurationof a receiving system in which the receiving device 12 can be used.

FIG. 128 is a block diagram illustrating a second example configurationof the receiving system in which the receiving device 12 can be used.

FIG. 129 is a block diagram illustrating a third example configurationof the receiving system in which the receiving device 12 can be used.

FIG. 130 is a block diagram illustrating an example configuration of anembodiment of a computer to which the present technology applies.

DESCRIPTION OF EMBODIMENTS

[Example Configuration of Transmission System to which PresentTechnology Applies]

FIG. 7 illustrates an example configuration of an embodiment of atransmission system (the term “system” refers to a logical set ofdevices or apparatuses, and the devices or apparatuses may or may not beaccommodated in the same housing) to which the present technologyapplies.

Referring to FIG. 7, the transmission system includes a transmittingdevice 11 and a receiving device 12.

The transmitting device 11 is configured to transmit (or broadcast) datasuch as a television broadcast program. More specifically, thetransmitting device 11 encodes the target data to be transmitted, suchas image data and audio data of a program, into an LDPC code, andtransmits the LDPC code via a communication path 13 such as a satellitelink, a terrestrial link, or a cable (wired line).

The receiving device 12 receives an LDPC code transmitted from thetransmitting device 11 via the communication path 13, decodes the LDPCcode into target data, and outputs the target data.

Here, it is well established that an LDPC code used in the transmissionsystem illustrated in FIG. 7 exhibits very high performance on an AWGN(Additive White Gaussian Noise) communication path.

However, burst errors or erasures may occur in the communication path13. For example, notably in a case where the communication path 13 is aterrestrial link, in an OFDM (Orthogonal Frequency DivisionMultiplexing) system, a specific symbol may drop to zero in power (or beerased) in accordance with the delay of an echo (which is a path otherthan the main path) in a multi-path environment where a D/U (Desired toUndesired Ratio) is 0 dB (i.e., the power of the echo as the undesiredpower is equal to the power of the main path as the desired power).

Further, if the D/U is 0 dB, all OFDM symbols at a specific point intime may also drop to zero in power (or erased) due to a Doppler(dopper) frequency in a flutter (which is a communication path to whichan echo with a Doppler frequency applied and having a delay of 0 isadded).

In addition, burst errors may occur due to unstable power of thereceiving device 12 or undesired wiring conditions from a receiver (notillustrated) that receives a signal from the transmitting device 11,such as an antenna, on the receiving device 12 side to the receivingdevice 12.

In the LDPC code decoding process, on the other hand, as described abovewith reference to FIG. 5, the variable node computation of Expression(1), which involves addition of (the reception values u_(0i) of) thecode bits of the LDPC code, is performed at the respective columns ofthe parity check matrix H, that is, the variable nodes corresponding tothe code bits of the LDPC code. Thus, an error occurring in a code bitused for variable node computation would reduce the accuracy of adetermined message.

In the LDPC code decoding process, furthermore, the check nodecomputation of Expression (7) is performed at a check node, by usingmessages determined at the variable nodes connected to the check node.Thus, an increase in the number of check nodes for which errors(including erasures) simultaneously occur in (code bits of an LDPC codecorresponding to) a plurality of connected variable nodes would reducedecoding performance.

More specifically, for example, if two or more of variable nodesconnected to a check node simultaneously become erasures, the check nodereturns a message with the probability of the value 0 being equal to theprobability of the value 1 to all the variable nodes. In this case, thecheck node that returns the message with equal probabilities does notcontribute to single decoding processing (one set of variable nodecomputation and check node computation), resulting in a larger number ofrepetitions of decoding processing. Thus, decoding performance maydeteriorate, and, additionally, the power consumption of the receivingdevice 12 that decodes the LDPC code may increase.

To address the inconveniences described above, the transmission systemillustrated in FIG. 7 is capable of increasing the resistance to bursterrors or erasures while maintaining performance in an AWGNcommunication path.

[Example Configuration of Transmitting Device 11]

FIG. 8 is a block diagram illustrating an example configuration of thetransmitting device 11 illustrated in FIG. 7.

In the transmitting device 11, one or more input streams as target dataare supplied to a mode adaptation/multiplexer 111.

The mode adaptation/multiplexer 111 performs processing such as modeselection and multiplexing the supplied one or more input streams, ifnecessary, and supplies the resulting data to a padder 112.

The padder 112 pads zeros (or adds null) to the data supplied from themode adaptation/multiplexer 111, as necessary, and supplies theresulting data to a BB scrambler 113.

The BB scrambler 113 applies BB scrambling (Base-Band Scrambling) to thedata supplied from the padder 112, and supplies the resulting data to aBCH encoder 114.

The BCH encoder 114 performs BCH encoding on the data supplied from theBB scrambler 113, and supplies the resulting data to an LDPC encoder 115as LDPC target data to be subjected to LDPC encoding.

The LDPC encoder 115 performs LDPC encoding on the LDPC target datasupplied from the BCH encoder 114 in accordance with a parity checkmatrix of an LDPC code, in which a parity matrix that is a portion ofparity bits of the LDPC code has a stepwise structure, to obtain an LDPCcode having information bits corresponding to the LDPC target data. TheLDPC encoder 115 outputs the LDPC code.

More specifically, the LDPC encoder 115 performs LDPC encoding to encodethe LDPC target data into, for example, an LDPC code defined in acertain standard such as DVB-S.2, DVB-T.2, or DVB-C.2 (corresponding toa parity check matrix) or a predetermined LDPC code (corresponding to aparity check matrix), and outputs the resulting LDPC code.

Here, an LDPC code defined in the DVB-S.2, DVB-T.2, or DVB-C.2 standardis an IRA (Irregular Repeat Accumulate) code, and a parity matrix in aparity check matrix of the LDPC code has a stepwise structure. Theparity matrix and the stepwise structure will be described below. Anexample of the IRA code is described in, for example, “IrregularRepeat-Accumulate Codes,” H. Jin, A. Khandekar, and R. J. McEliece, inProceedings of 2nd International Symposium on Turbo Codes and RelatedTopics, pp. 1-8, September 2000.

The LDPC code output from the LDPC encoder 115 is supplied to a bitinterleaver 116.

The bit interleaver 116 performs bit interleaving, described below, onthe LDPC code supplied from the LDPC encoder 115, and supplies the LDPCcode that has been subjected to bit interleaving to a QAM encoder 117.

The QAM encoder 117 maps the LDPC code supplied from the bit interleaver116 to constellation points each representing one symbol of orthogonalmodulation in units of one or more code bits of the LDPC code (or inunits of symbols), and performs orthogonal modulation (multi-levelmodulation).

More specifically, the QAM encoder 117 maps the LDPC code supplied fromthe bit interleaver 116 to constellation points defined by themodulation scheme on which orthogonal modulation of the LDPC code isbased, in an IQ plane (IQ constellation) defined by an I axisrepresenting an I component that is in the same phase as that of thecarrier and a Q axis representing a Q component orthogonal to thecarrier, and performs orthogonal modulation.

Here, examples of the modulation scheme on which the orthogonalmodulation performed by the QAM encoder 117 is based include modulationschemes defined in the DVB-S.2, DVB-T.2, DVB-C.2, and similar standards,and other modulation schemes, examples of which include BPSK (BinaryPhase Shift Keying), QPSK (Quadrature Phase Shift Keying), 16APSK(Amplitude Phase-Shift Keying), 32APSK, 16QAM (Quadrature AmplitudeModulation), 64QAM, 256QAM, 1024QAM, 4096QAM, and 4PAM (Pulse AmplitudeModulation). Which of the modulation schemes the QAM encoder 117 uses toperform orthogonal modulation is set in advance through, for example,operation or the like by an operator of the transmitting device 11.

The data obtained by the processing of the QAM encoder 117 (i.e., thesymbols mapped to the constellation points) is supplied to a timeinterleaver 118.

The time interleaver 118 performs time interleaving (which isinterleaving in the time domain) on the data (i.e., symbols) suppliedfrom the QAM encoder 117 in units of symbols, and supplies the resultingdata to a MISO/MIMO encoder 119.

The MISO/MIMO encoder 119 performs space-time encoding on the data(i.e., symbols) supplied from the time interleaver 118, and supplies theresulting data to a frequency interleaver 120.

The frequency interleaver 120 performs frequency interleaving (which isinterleaving in the frequency domain) on the data (i.e., symbols)supplied from the MISO/MIMO encoder 119 in units of symbols, andsupplies the resulting data to a frame builder & resource allocationunit 131.

On the other hand, control data (signalling) for transmission control,such as BB signalling (Base Band Signalling) (BB Header), is supplied toa BCH encoder 121.

The BCH encoder 121 performs BCH encoding on the control data suppliedthereto in a manner similar to that for the BCH encoder 114, andsupplies the resulting data to an LDPC encoder 122.

The LDPC encoder 122 performs LDPC encoding on the data supplied fromthe BCH encoder 121, as LDPC target data, in a manner similar to thatfor the LDPC encoder 115, and supplies the resulting LDPC code to a QAMencoder 123.

The QAM encoder 123 maps the LDPC code supplied from the LDPC encoder122 to constellation points each representing one symbol of orthogonalmodulation, in units of one or more code bits of the LDPC code (i.e., inunits of symbols) in a manner similar to that for the QAM encoder 117,and performs orthogonal modulation. The QAM encoder 123 supplies theresulting data (i.e., symbols) to a frequency interleaver 124.

The frequency interleaver 124 performs frequency interleaving on thedata (i.e., symbols) supplied from the QAM encoder 123 in units ofsymbols in a manner similar to that for the frequency interleaver 120,and supplies the resulting data to the frame builder & resourceallocation unit 131.

The frame builder & resource allocation unit 131 adds pilot symbols atdesired positions of the data (i.e., symbols) supplied from thefrequency interleavers 120 and 124, and configures a frame including acertain number of symbols (for example, a PL (Physical Layer) frame, aT2 frame, a C2 frame, etc.) from the resulting data (i.e., symbols). Theframe builder & resource allocation unit 131 supplies the frame to anOFDM generation unit 132.

The OFDM generation unit 132 generates an OFDM signal from the framesupplied from the frame builder & resource allocation unit 131,corresponding to the frame, and transmits the OFDM signal via thecommunication path 13 (FIG. 7).

Note that the transmitting device 11 may be configured without includingsome of the blocks illustrated in FIG. 8, such as the time interleaver118, the MISO/MIMO encoder 119, the frequency interleaver 120, and thefrequency interleaver 124.

FIG. 9 illustrates an example configuration of the bit interleaver 116illustrated in FIG. 8.

The bit interleaver 116 is a data processing device for interleavingdata, and includes a parity interleaver 23, a column twist interleaver24, and a demultiplexer (DEMUX) 25. Note that the bit interleaver 116may be configured without including one or both of the parityinterleaver 23 and the column twist interleaver 24.

The parity interleaver 23 performs parity interleaving on the LDPC codesupplied from the LDPC encoder 115 to interleave parity bits of the LDPCcode to different parity bit positions, and supplies the LDPC code thathas been subjected to parity interleaving to the column twistinterleaver 24.

The column twist interleaver 24 performs column twist interleaving onthe LDPC code supplied from the parity interleaver 23, and supplies theLDPC code that has been subjected to column twist interleaving to thedemultiplexer 25.

More specifically, the LDPC code is transmitted after one or more codebits of the LDPC code are mapped to a constellation point representingone symbol of orthogonal modulation using the QAM encoder 117illustrated in FIG. 8.

The column twist interleaver 24 performs reordering processing, forexample, column twist interleaving, described below, to reorder the codebits of the LDPC code supplied from the parity interleaver 23 so that aplurality of code bits of the LDPC code corresponding to 1s in anarbitrary row of the parity check matrix used in the LDPC encoder 115are not included in one symbol.

The demultiplexer 25 performs permutation processing on the LDPC codesupplied from the column twist interleaver 24 to permute the positionsof two or more code bits of the LDPC code to be mapped to symbols,thereby obtaining an LDPC code with increased resistance to AWGN. Thedemultiplexer 25 then supplies the two or more code bits of the LDPCcode, which are obtained through the permutation processing, to the QAMencoder 117 (FIG. 8) as a symbol.

Next, FIG. 10 illustrates the parity check matrix H that the LDPCencoder 115 illustrated in FIG. 8 uses for LDPC encoding.

The parity check matrix H has an LDGM (Low-Density Generation Matrix)structure, and can be expressed by the equation H=[H_(A)|H_(T)] (whichis a matrix whose left elements are the elements of an informationmatrix H_(A) and right elements are the elements of a parity matrixH_(T)), where the information matrix H_(A) is a portion corresponding toinformation bits and the parity matrix H_(T) is a portion correspondingto parity bits among the code bits of the LDPC code.

Here, the number of information bits and the number of parity bits amongthe code bits of one LDPC code (i.e., one code word) are represented byan information length K and a parity length M, respectively. Inaddition, the number of code bits of one LDPC code is represented by acode length N (=K+M).

The information length K and the parity length M of an LDPC code havinga certain code length N are determined in accordance with the code rate.In addition, the parity check matrix H is a matrix having M rows and Ncolumns. Thus, the information matrix H_(A) is an M×K matrix, and theparity matrix H_(T) is an M×M matrix.

FIG. 11 illustrates a parity matrix H_(T) of a parity check matrix H ofan LDPC code defined in the DVB-S.2, DVB-T.2, and DVB-C.2 standards.

As illustrated in FIG. 11, the parity matrix H_(T) of the parity checkmatrix H of the LDPC code defined in DVB-T.2 and similar standards is amatrix having a stepwise structure (i.e., a lower bidiagonal matrix) inwhich elements of 1 are arranged in a stepwise manner. The parity matrixH_(T) has a row weight of 1 for the first row and a row weight of 2 forall the remaining rows. The parity matrix H_(T) further has a columnweight of 1 for the last column and a column weight of 2 for all theremaining columns.

In the manner described above, an LDPC code of a parity check matrix Hincluding a parity matrix H_(T) having a stepwise structure can beeasily generated using the parity check matrix H.

More specifically, an LDPC code (i.e., a code word) is represented by arow vector c, and a column vector obtained by transposing the row vectoris represented by c^(T). In the row vector c, which is the LDPC code,furthermore, an information bit portion is represented by a row vectorA, and a parity bit portion is represented by a row vector T.

In this case, the row vector c can be expressed by the equation c=[A|T](which is a row vector whose left elements are the elements of a rowvector A and right elements are the elements of a row vector T), wherethe row vector A corresponds to information bits and the row vector Tcorresponds to parity bits.

It is necessary for the parity check matrix H and the row vectorc=[A|T], which serves as the LDPC code, to satisfy the equationHc^(T)=0. Thus, the values of the elements of the row vector Tcorresponding to parity bits in the row vector c=[A|T] satisfying theequation Hc^(T)=0 can be sequentially (or successively) determined bysetting the elements in the respective rows of the column vector Hc^(T)in the equation Hc^(T)=0 to zero in order, starting from the element inthe first row, in a case where the parity matrix H_(T) in the paritycheck matrix H=[H_(A)|H_(T)] has the stepwise structure illustrated inFIG. 11.

FIG. 12 is a diagram depicting a parity check matrix H of an LDPC codedefined in DVB-T.2 and similar standards.

The parity check matrix H of the LDPC code defined in DVB-T.2 andsimilar standards has a column weight X for KX columns, starting withthe first column, a column weight of 3 for the subsequent K3 columns, acolumn weight of 2 for the subsequent (M−1) columns, and a column weightof 1 for the last column.

Here, the sum of columns given by KX+K3+M−1+1 equals the code length N.

FIG. 13 is a diagram illustrating the numbers of columns KX, K3, and Mand the column weight X for the respective code rates r of LDPC codesdefined in DVB-T.2 and similar standards.

In DVB-T.2 and similar standards, LDPC codes having code lengths N of64800 bits and 16200 bits are defined.

In addition, 11 code rates (nominal rates), 1/4, 1/3, 2/5, 1/2, 3/5,2/3, 3/4, 4/5, 5/6, 8/9, and 9/10, are defined for an LDPC code with acode length N of 64800 bits, and 10 code rates, 1/4, 1/3, 2/5, 1/2, 3/5,2/3, 3/4, 4/5, 5/6, and 8/9, are defined for an LDPC code with a codelength N of 16200 bits.

Hereinafter, the code length N of 64800 bits will also be referred to as“64k bits”, and the code length N of 16200 bits will also be referred toas “16k bits”.

It is well established that a code bit of an LDPC code corresponding toa column with a higher column weight in a parity check matrix H has alower error rate.

In a parity check matrix H defined in DVB-T.2 and similar standardsillustrated in FIGS. 12 and 13, the column weight tends to increase asthe ordinal number of the columns of the parity check matrix H decreases(i.e., as the column comes closer to the left end of the parity checkmatrix H). Accordingly, robustness to errors (or resistance to errors)tends to increase as the ordinal number of the code bits of an LDPC codecorresponding to the parity check matrix H decreases (i.e., the firstcode bit tends to be the most robust to errors), and tends to decreaseas the ordinal number of the code bits increases (i.e., the last codebit tends to be the least robust to errors).

Next, FIG. 14 illustrates example arrangements of (constellation pointscorresponding to) 16 symbols in an IQ plane in a case where the QAMencoder 117 illustrated in FIG. 8 performs 16QAM operation.

More specifically, part A of FIG. 14 illustrates symbols of DVB-T.216QAM.

In 16QAM, one symbol is represented as 4 bits, and 16 (=2⁴) symbols areprovided. Further, the 16 symbols are arranged in a square of 4 symbolsin the I direction and 4 symbols in the Q direction, centered on theorigin of the IQ plane.

Assuming now that the (i+1)-th bit from the most significant bit of abit sequence represented by one symbol is represented by bit y_(i), then4 bits represented by one symbol of 16QAM can be represented by bits y₀,y₁, y₂, and y₃ in order, starting from the most significant bit. In acase where the modulation scheme is 16QAM, 4 code bits of an LDPC codeare (symbolized) to a symbol (symbol values) of 4 bits y₀ to y₃.

Part B of FIG. 14 illustrates bit boundaries of 4 bits (hereinafter alsoreferred to as “symbol bits”) y₀ to y₃ represented by a 16QAM symbol.

Here, a bit boundary of symbol bits y_(i) (in FIG. 14, i=0, 1, 2, 3) isa boundary between a symbol having a symbol bit y_(i) of 0 and a symbolhaving a symbol bit y_(i) of 1.

As illustrated in part B of FIG. 14, for the most significant symbol bity₀ among the 4 symbol bits y₀ to y₃ represented by the 16QAM symbol, theonly one bit boundary extends along the Q axis in the IQ plane. For thesecond symbol bit y₁ (the second most significant bit), the only one bitboundary extends along the I axis in the IQ plane.

In addition, two bit boundaries are provided for the third symbol bity₂, one between the first and second columns of the 4×4 square ofsymbols, counting from the left, and the other between the third andfourth columns.

In addition, two bit boundaries are provided for the fourth symbol bity₃, one between the first and second rows of the 4×4 square of symbols,counting from the top, and the other between the third and fourth rows.

Symbol bits y_(i) represented by symbols are less erroneous (i.e., lowererror probability) as the number of symbols spaced away from a bitboundary increases, and are more erroneous (i.e., higher errorprobability) as the number of symbols close to a bit boundary increases.

It is assumed now that a less erroneous bit (robust to errors) isreferred to as a “strong bit” and a more erroneous bit (sensitive toerrors) is referred to as a “weak bit”. In the 4 symbol bits y₀ to y₃ ofthe 16QAM symbol, the most significant symbol bit y₀ and the secondsymbol bit y₁ are strong bits, and the third symbol bit y₂ and thefourth symbol bit y₃ are weak bits.

FIGS. 15 to 17 illustrate example arrangements of (constellation pointscorresponding to) 64 symbols in an IQ plane in a case where the QAMencoder 117 illustrated in FIG. 8 performs 64QAM operation, that is,symbols of DVB-T.2 16QAM.

In 64QAM, one symbol represents 6 bits, and 64 (=2⁶) symbols areprovided. Further, the 64 symbols are arranged in a square of 8 symbolsin the I direction and 8 symbols in the Q direction, centered on theorigin of the IQ plane.

Symbol bits of one 64QAM symbol can be represented by bits y₀, y₁, y₂,y₃, y₄, and y₅ in order, starting from the most significant bit. In acase where the modulation scheme is 64QAM, 6 code bits of an LDPC codeare mapped to a symbol of 6-bit symbol bits y₀ to y₅.

Here, FIG. 15 illustrates bit boundaries of the most significant symbolbit y₀ and the second symbol bit y₁ among the symbol bits y₀ to y₅ ofthe 64QAM symbol, FIG. 16 illustrates bit boundaries of the third symbolbit y₂ and the fourth symbol bit y₃, and FIG. 17 illustrates bitboundaries of the fifth symbol bit y₄ and the sixth symbol bit y₅.

As illustrated in FIG. 15, one bit boundary is provided for each of themost significant symbol bit y₀ and the second symbol bit y₁. Further, asillustrated in FIG. 16, two bit boundaries are provided for each of thethird symbol bit y₂ and the fourth symbol bit y₃. As illustrated in FIG.17, four bit boundaries are provided for each of the fifth symbol bit y₄and the sixth symbol bit y₅.

Accordingly, among the symbol bits y₀ to y₅ of the 64QAM symbol, themost significant symbol bit y₀ and the second symbol bit y₁ are thestrongest bits, and the third symbol bit y₂ and the fourth symbol bit y₃are the second strongest bits. Then, the fifth symbol bit y₄ and thesixth symbol bit y₅ are weak bits.

It can be found from FIG. 14 and, furthermore, FIGS. 15 to 17 thatsymbol bits of an orthogonal modulation symbol have a tendency that moresignificant bits are stronger bits and less significant bits are weakerbits.

FIG. 18 is a diagram illustrating an example arrangement of(constellation points corresponding to) 4 symbols in an IQ plane in acase where a satellite link is used as the communication path 13 (FIG.7) and the QAM encoder 117 illustrated in FIG. 8 performs QPSKoperation, that is, a diagram of, for example, DVB-S.2 QPSK symbols.

In DVB-S.2 QPSK, each symbol is mapped to one of four constellationpoints on the circumference of a circle having a radius ρ of 1, centeredon the origin of the IQ plane.

FIG. 19 is a diagram illustrating an example arrangement of 8 symbols inan IQ plane in a case where a satellite link is used as thecommunication path 13 (FIG. 7) and the QAM encoder 117 illustrated inFIG. 8 performs 8PSK operation, that is, a diagram of, for example,DVB-S.2 8PSK symbols.

In DVB-S.2 8PSK, each symbol is mapped to one of eight constellationpoints on the circumference of a circle having a radius ρ of 1, centeredon the origin of the IQ plane.

FIG. 20 includes diagrams illustrating an example arrangement of 16symbols in an IQ plane in a case where a satellite link is used as thecommunication path 13 (FIG. 7) and the QAM encoder 117 illustrated inFIG. 8 performs 16APSK operation, that is, diagrams of, for example,DVB-S.2 16APSK symbols.

Part A of FIG. 20 illustrates an arrangement of constellation points ofDVB-S.2 16APSK.

In DVB-S.2 16APSK, each symbol is mapped to one of 16 constellationpoints in total, namely, 4 constellation points on the circumference ofa circle having a radius R₁ and 12 constellation points on thecircumference of a circle having a radius R₂ (>R₁), centered on theorigin of the IQ plane.

Part B of FIG. 20 illustrates the ratio γ=R₂/R₁, which is the ratio ofthe radii R₂ and R₁ in the arrangement of constellation points ofDVB-S.2 16APSK.

In the arrangement of constellation points of DVB-S.2 16APSK, the ratioγ of the radii R₂ and R₁ differs depending on the code rate.

FIG. 21 includes diagrams illustrating an example arrangement of 32symbols in an IQ plane in a case where a satellite link is used as thecommunication path 13 (FIG. 7) and the QAM encoder 117 illustrated inFIG. 8 performs 32APSK operation, that is, diagrams of, for example,DVB-S.2 32APSK symbols.

Part A of FIG. 21 illustrates an arrangement of constellation points ofDVB-S.2 32APSK.

In DVB-S.2 32APSK, each symbol is mapped to one of 32 constellationpoints in total, namely, 4 constellation points on the circumference ofa circle having a radius R₁, 12 constellation points on thecircumference of a circle having a radius R₂ (>R₁), and 16 constellationpoints on the circumference of a circle having a radius R₃ (>R₂),centered on the origin of the IQ plane.

Part B of FIG. 21 illustrates the ratio γ₁=R₂/R₁, which is the ratio ofthe radii R₂ and R₁, and the ratio γ₂=R₃/R₁, which is the ratio of theradii R₃ and R₁, in the arrangement of constellation points of DVB-S.232APSK.

In the arrangement of constellation points of DVB-S.2 32APSK, the ratioγ₁ of the radii R₂ and R₁ and the ratio γ₂ of the radii R₃ and R₁ eachdiffer depending on the code rate.

The symbol bits of the symbols of the respective DVB-S.2 orthogonalmodulation types (QPSK, 8PSK, 16APSK, and 32APSK) having thearrangements of constellation points illustrated in FIGS. 18 to 21 alsoinclude strong bits and weak bits similarly to those illustrated inFIGS. 14 to 17.

Here, as described above with reference to FIGS. 12 and 13, the LDPCcode output from the LDPC encoder 115 (FIG. 8) includes code bits robustto errors and code bits sensitive to errors.

Furthermore, as described above with reference to FIGS. 14 to 21, thesymbol bits of a symbol of orthogonal modulation performed by the QAMencoder 117 include strong bits and weak bits.

Thus, assigning code bits of an LDPC code which are sensitive to errorsto symbol bits of an orthogonal modulation symbol which are sensitive toerrors would reduce the resistance to errors as a whole.

Accordingly, an interleaver has been proposed that is configured tointerleave code bits of an LDPC code such that a code bit of the LDPCcode which is sensitive to errors is allocated to a strong bit (symbolbit) of an orthogonal modulation symbol.

The demultiplexer 25 illustrated in FIG. 9 is capable of performing theprocessing of the above-described interleaver.

FIG. 22 includes diagrams depicting the processing of the demultiplexer25 illustrated in FIG. 9.

More specifically, part A of FIG. 22 illustrates an example functionalconfiguration of the demultiplexer 25.

The demultiplexer 25 includes a memory 31 and a permutation unit 32.

An LDPC code is supplied to the memory 31 from the LDPC encoder 115.

The memory 31 has a storage capacity to store mb bits in its row(horizontal) direction and N/(mb) bits in its column (vertical)direction. Code bits of the LDPC code supplied to the memory 31 arewritten in the column direction, and are read in the row direction. Theread code bits are supplied to the permutation unit 32.

Here, as described above, N (=information length K+parity length M)represents the code length of the LDPC code.

In addition, m represents the number of code bits of the LDPC code whichare mapped to one symbol, and b is a certain positive integer anddenotes a multiple used to obtain integer multiples of m. As describedabove, the demultiplexer 25 maps (or symbolizes) code bits of an LDPCcode to a symbol, where the multiple b represents the number of symbolsobtained by the demultiplexer 25 through single symbolization.

Part A of FIG. 22 illustrates an example configuration of thedemultiplexer 25 in a case where the modulation scheme is 64QAM in whicheach symbol is mapped to one of 64 constellation points, or any othersuitable modulation scheme. The number of code bits m of an LDPC code tobe mapped to one symbol is therefore 6.

In part A of FIG. 22, furthermore, the multiple b is 1. Therefore, thememory 31 has a storage capacity of N/(6×1) bits in the column directionand (6×1) bits in the row direction.

Here, in the following, a storage area of the memory 31, which has onebit in the row direction and extends in the column direction, isreferred to as a “column” as appropriate. In part A of FIG. 22, thememory 31 includes 6 (=6×1) columns.

The demultiplexer 25 writes code bits of the LDPC code to the memory 31(in the column direction) from the top to the bottom of each column ofthe memory 31, where the writing operation moves toward the right,starting from the leftmost column.

Further, when the writing of code bits up to the bottom of the rightmostcolumn is completed, code bits are read from the memory 31 in the rowdirection, starting from the first row of all the columns of the memory31, in units of 6 bits (i.e., mb bits). The read code bits are suppliedto the permutation unit 32.

The permutation unit 32 performs permutation processing to permute thepositions of 6 code bits supplied from the memory 31, and outputs theresulting 6 bits as 6 symbol bits y₀, y₁, y₂, y₃, y₄, and y₅representing one 64QAM symbol.

More specifically, mb (here, 6) code bits are read from the memory 31 inthe row direction. If the i-th bit from the most significant bit of themb code bits read from the memory 31 is represented by bit b_(i) (wherei=0, 1, . . . , mb−1), the 6 code bits read from the memory 31 in therow direction can be represented by bits b₀, b₁, b₂, b₃, b₄, and b₅ inorder, starting from the most significant bit.

In terms of the column weights described with reference to FIGS. 12 and13, the code bits in the bit b₀ direction are code bits robust toerrors, and the code bits in the bit b₅ direction are code bitssensitive to errors.

The permutation unit 32 is configured to perform permutation processingto permute the positions of the 6 code bit b₀ to b₅ read from the memory31 so that the code bits sensitive to errors among the 6 code bits b₀ tob₅ read from the memory 31 may be allocated to strong bits among thesymbol bits y₀ to y₅ representing one 64QAM symbol.

Here, various methods for permuting the 6 code bits b₀ to b₅ read fromthe memory 31 and allocating them to the 6 symbol bits y₀ to y₅representing one 64QAM symbol have been proposed by many companies.

Part B of FIG. 22 illustrates a first permutation method, part C of FIG.22 illustrates a second permutation method, and part D of FIG. 22illustrates a third permutation method.

In part B of FIG. 22 to part D of FIG. 22 (also in FIG. 23, describedbelow), a line connecting bits b_(i) and y_(j) indicates that the codebit b_(i) is allocated to the symbol bit y_(j) of the symbol (i.e., theposition of the code bit b_(i) is replaced with that of the symbol bity_(j)).

In the first permutation method illustrated in part B of FIG. 22, theuse of one of three permutation types is proposed. In the secondpermutation method illustrated in part C of FIG. 22, the use of one oftwo permutation types is proposed.

In the third permutation method illustrated in part D of FIG. 22, thesequential selection and use of six permutation types are proposed.

FIG. 23 illustrates an example configuration of the demultiplexer 25 ina case where the modulation scheme is 64QAM in which each symbol ismapped to one of 64 constellation points, or any other suitablemodulation scheme (and therefore, the number of code bits m of an LDPCcode to be mapped to one symbol is 6, similarly to the case in FIG. 22)and in a case where the multiple b is 2, and also illustrates a fourthpermutation method.

In a case where the multiple b is 2, the memory 31 has a storagecapacity of N/(6×2) bits in the column direction and (6×2) bits in therow direction, and includes 12 (=6×2) columns.

Part A of FIG. 23 illustrates the order in which code bits of an LDPCcode are written to the memory 31.

As described with reference to FIG. 22, the demultiplexer 25 writes codebits of the LDPC code to the memory 31 (in the column direction) fromthe top to the bottom of each column of the memory 31, where the writingoperation moves toward the right, starting from the leftmost column.

Further, when the writing of code bits up to the bottom of the rightmostcolumn is completed, code bits are read from the memory 31 in the rowdirection, starting from the first row of all the columns of the memory31, in units of 12 bits (i.e., mb bits). The read code bits are suppliedto the permutation unit 32.

The permutation unit 32 performs permutation processing to permute thepositions of 12 code bits supplied from the memory 31, by using thefourth permutation method, and outputs the resulting 12 bits as 12 bitsrepresenting two symbols of 64QAM (i.e., b symbols), that is, 6 symbolbits y₀, y₁, y₂, y₃, y₄, and y₅ representing one 64QAM symbol and 6symbol bits y₀, y₁, y₂, y₃, y₄/and y₅ representing the subsequent onesymbol.

Here, part B of FIG. 23 illustrates a fourth permutation method that isa method for performing permutation processing by the permutation unit32 illustrated in part A of FIG. 23.

Note that, in the permutation processing, in a case where the multiple bis 2 (also in a case where the multiple b is 3 or more), mb code bitsare allocated to mb symbol bits of consecutive b symbols. In thefollowing, including FIG. 23, the (i+1)-th bit from the most significantbit of mb symbol bits of consecutive b symbols is represented by bit (orsymbol bit) y_(i), for convenience of illustration.

The optimum permutation type of code bits, which increases theerror-rate performance in an AWGN communication path, depends on thecode rate or code length of an LDPC code, the modulation scheme, and soforth.

[Parity Interleaving]

Next, parity interleaving performed by the parity interleaver 23illustrated in FIG. 9 will be described with reference to FIGS. 24 to26.

FIG. 24 illustrates (part of) a Tanner graph of a parity check matrix ofan LDPC code.

As illustrated in FIG. 24, if errors such as erasures simultaneouslyoccur in multiple, such as two, (code bits corresponding to) variablenodes connected to a check node, the check node returns a message withthe probability of the value 0 being equal to the probability of thevalue 1 to all the variable nodes connected to the check node. Hence,the decoding performance deteriorates if a plurality of variable nodesconnected to the same check node simultaneously become erasures or thelike.

Meanwhile, the LDPC code output from the LDPC encoder 115 illustrated inFIG. 8, which is defined in the DVB-S.2 and similar standards, is an IRAcode, and a parity matrix H_(T) of the parity check matrix H has astepwise structure, as illustrated in FIG. 11.

FIG. 25 illustrates a parity matrix H_(T) having a stepwise structure,and a Tanner graph corresponding to the parity matrix H_(T).

More specifically, part A of FIG. 25 illustrates a parity matrix H_(T)having a stepwise structure, and part B of FIG. 25 illustrates a Tannergraph corresponding to the parity matrix H_(T) illustrated in part A ofFIG. 25.

In the parity matrix H_(T) having a stepwise structure, elements of 1are adjacent in each row (except the first row). Thus, in the Tannergraph of the parity matrix H_(T), two adjacent variable nodescorresponding to two adjacent elements having the value 1 in the paritymatrix H_(T) are connected to the same check node.

Accordingly, if errors simultaneously occur in parity bits correspondingtwo adjacent variable nodes as described above due to burst errors,erasures, and the like, a check node connected to the two variable nodes(i.e., variable nodes whose messages are determined using the paritybits) corresponding to the two erroneous parity bits returns a messagewith the probability of the value 0 being equal to the probability ofthe value 1 to the variable nodes connected to the check node. Thedecoding performance thus deteriorates. Then, if the burst length (whichis the number of consecutive erroneous parity bits) increases, thenumber of check nodes that return the message with equal probabilitiesincreases, resulting in further deterioration of decoding performance.

Accordingly, the parity interleaver 23 (FIG. 9) performs parityinterleaving on the LDPC code supplied from the LDPC encoder 115 tointerleave parity bits to different parity bit positions in order toprevent the deterioration of decoding performance described above.

FIG. 26 illustrates a parity matrix H_(T) of a parity check matrix Hcorresponding to an LDPC code which has been subjected to parityinterleaving by the parity interleaver 23 illustrated in FIG. 9.

Here, the information matrix H_(A) of the parity check matrix Hcorresponding to the LDPC code defined in the DVB-S.2 and similarstandards, which is output from the LDPC encoder 115, has a cyclicstructure.

The term “cyclic structure” refers to a structure in which a certaincolumn matches another column that is cyclically shifted. Examples ofthe cyclic structure include a structure in which the position of “1” ineach row of every P columns corresponds to the position to which theposition of the first column out of the P columns has been cyclicallyshifted in a column direction by a value proportional to the value qobtained by dividing the parity length M. In the following, the numberof columns P in the cyclic structure will be referred to as the “numberof unit columns of the cyclic structure” as appropriate.

As described with reference to FIGS. 12 and 13, examples of the LDPCcodes defined in the DVB-S.2 and similar standards include two types ofLDPC codes having code lengths N of 64800 bits and 16200 bits. Foreither of the two types of LDPC codes, the number of unit columns P ofthe cyclic structure is defined to be 360, which is one of the divisors,excluding 1 and M, of the parity length M.

In addition, the parity length M has a value other than the prime numberrepresented by the equation M=q×P=q×360, by using a value q whichdiffers depending on the code rate. Therefore, similarly to the numberof unit columns P of the cyclic structure, the value q is also one ofthe divisors, excluding 1 and M, of the parity length M, and is given bydividing the parity length M by the number of unit columns P of thecyclic structure (i.e., the parity length M is the product of thedivisors P and q of the parity length M).

As described above, the parity interleaver 23 performs parityinterleaving on an N-bit LDPC code to interleave the (K+qx+y+1)-th codebit among the code bits of the N-bit LDPC code to the (K+Py+x+1)-th codebit position, where K denotes the information length, x is an integergreater than or equal to 0 and less than P, and y is an integer greaterthan or equal to 0 and less than q.

The (K+qx+y+1)-th code bit and the (K+Py+x+1)-th code bit are code bitspositioned after the (K+1)-th code bit, and are therefore parity bits.Accordingly, the position of a parity bit of an LDPC code is shifted byparity interleaving.

In this parity interleaving operation, (parity bits corresponding to)variable nodes connected to the check node are spaced away from eachother by the number of unit columns P of the cyclic structure, i.e., inthe illustrated example, 360 bits, thereby preventing simultaneousoccurrence of errors in a plurality of variable nodes connected to thesame check node for a burst length less than 360 bits. The resistance toburst errors can therefore be improved.

Note that the LDPC code, which has undergone parity interleaving suchthat the (K+qx+y+1)-th code bit is interleaved to the (K+Py+x+1)-th codebit position, is identical to an LDPC code of a parity check matrix(hereinafter also referred to as a “transformed parity check matrix”)that is obtained through column permutation to replace the (K+qx+y+1)-thcolumn of the original parity check matrix H with the (K+Py+x+1)-thcolumn.

Furthermore, as illustrated in FIG. 26, the parity matrix of thetransformed parity check matrix has a pseudo-cyclic structure whosenumber of unit columns is P (in FIG. 26, 360).

The term “pseudo-cyclic structure”, as used herein, refers to astructure in which a portion of a matrix has a cyclic structure. Atransformed parity check matrix produced by performing columnpermutation, corresponding to parity interleaving, on a parity checkmatrix of an LDPC code defined in the DVB-S.2 and similar standards hasa portion of 360 rows and 360 columns in a right corner portion thereof(which corresponds to a shift matrix described below) in which only oneelement of “1” is missing (i.e., an element of “0” appears). In thisregard, this cyclic structure is not a complete cyclic structure, calleda pseudo-cyclic structure.

Note that the transformed parity check matrix illustrated in FIG. 26 isa matrix obtained by performing permutation of rows (row permutation),in addition to column permutation corresponding to parity interleaving,on the original parity check matrix H such that the transformed paritycheck matrix includes component matrices described below.

[Column Twist Interleaving]

Next, column twist interleaving as reordering processing performed bythe column twist interleaver 24 illustrated in FIG. 9 will be describedwith reference to FIGS. 27 to 30.

The transmitting device 11 illustrated in FIG. 8 transmits one or morecode bits of an LDPC code as one symbol. More specifically, for example,QPSK is used as a modulation scheme for the transmission of 2 code bitsas one symbol, and 16APSK or 16QAM is used as a modulation scheme forthe transmission of 4 code bits as one symbol.

In a case where 2 code bits are to be transmitted as one symbol, anerror such as an erasure occurring in a certain symbol may cause all thecode bits of the symbol to be erroneous (or erasures).

Accordingly, in order to reduce the probability of a plurality of (codebits corresponding to) variable nodes connected to the same check nodebecoming simultaneously erasures to improve decoding performance, it isnecessary to prevent variable nodes corresponding to code bits of onesymbol from being connected to the same check node.

In contrast, in the parity check matrix H of the LDPC code defined inthe DVB-S.2 and similar standards, which is output from the LDPC encoder115, as described above, the information matrix H_(A) has a cyclicstructure and the parity matrix H_(T) has a stepwise structure. Inaddition, as described with reference to FIG. 26, in a transformedparity check matrix, which is a parity check matrix of an LDPC code thathas been subjected to parity interleaving, the parity matrix also has acyclic structure (more specifically, as described above, a pseudo-cyclicstructure).

FIG. 27 illustrates a transformed parity check matrix.

More specifically, part A of FIG. 27 illustrates a transformed paritycheck matrix of a parity check matrix H of an LDPC code having a codelength N of 64800 bits and a code rate (r) of 3/4.

In the transformed parity check matrix illustrated in part A of FIG. 27,the positions of elements having the value 1 are indicated by dots(“•”).

Part B of FIG. 27 illustrates processing that the demultiplexer 25 (FIG.9) performs on an LDPC code of the transformed parity check matrixillustrated in part A of FIG. 27, that is, an LDPC code that has beensubjected to parity interleaving.

In part B of FIG. 27, using a modulation scheme for mapping each symbolto one of 16 constellation points, such as 16APSK or 16QAM, code bits ofthe LDPC code that has been subjected to parity interleaving are writtento four columns of the memory 31 in the demultiplexer 25 in a columndirection.

The code bits written to the four columns of the memory 31 in the columndirection are read in a row direction in units of 4 bits, and are mappedto one symbol.

In this case, 4 code bits B₀, B₁, B₂, and B₃, which are to be mapped toone symbol, may be code bits corresponding to 1s in an arbitrary row ofthe transformed parity check matrix illustrated in part A of FIG. 27. Inthis case, the variable nodes corresponding to the code bits B₀, B₁, B₂,and B₃ are connected to the same check node.

Accordingly, in a case where 4 code bits B₀, B₁, B₂, and B₃ of onesymbol are code bits corresponding to 1s in an arbitrary row of thetransformed parity check matrix, an erasure occurring in the symbolwould make it difficult to determine an appropriate message for the samecheck node to which the variable nodes respectively corresponding to thecode bits B₀, B₁, B₂, and B₃ are connected, resulting in deteriorationof decoding performance.

Also for code rates other than a code rate of 3/4, a plurality of codebits corresponding to a plurality of variable nodes connected to thesame check node may be mapped to one 16APSK or 16QAM symbol.

Accordingly, the column twist interleaver 24 performs column twistinterleaving on the LDPC code that has been subjected to parityinterleaving, which is supplied from the parity interleaver 23, tointerleave code bits of the LDPC code so that a plurality of code bitscorresponding to 1s in an arbitrary row of the transformed parity checkmatrix are not included in one symbol.

FIG. 28 is a diagram depicting column twist interleaving.

More specifically, FIG. 28 illustrates the memory 31 (FIGS. 22 and 23)of the demultiplexer 25.

As described with reference to FIG. 22, the memory 31 has a storagecapacity to store N/(mb) bits in its column (vertical) direction and mbbits in its row (horizontal) direction, and includes mb columns. Then,the column twist interleaver 24 performs column twist interleaving bycontrolling a write start position from which the writing operationstarts when a code bit of an LDPC code is written to the memory 31 inthe column direction and is read from the memory 31 in the rowdirection.

More specifically, the column twist interleaver 24 appropriately changesa write start position with which the writing of a code bit starts ineach of a plurality of columns so that a plurality of code bits read inthe row direction, which are to be mapped to one symbol, does not matchcode bits corresponding to 1s in an arbitrary row of the transformedparity check matrix (That is, the column twist interleaver 24 reorderscode bits of the LDPC code so that a plurality of code bitscorresponding to 1s in an arbitrary row of the parity check matrix arenot included in the same symbol).

Here, FIG. 28 illustrates an example configuration of the memory 31 in acase where the modulation scheme is 16APSK or 16QAM and the multiple bdescribed with reference to FIG. 22 is 1. Accordingly, the number ofbits m of the code bits of the LDPC code that are to be mapped to onesymbol is 4, and the memory 31 includes 4 (=mb) columns.

The column twist interleaver 24 (instead of the demultiplexer 25illustrated in FIG. 22) writes code bits of the LDPC code to the memory31 (in the column direction) from the top to the bottom of each of the 4columns of the memory 31, where the writing operation moves toward theright, starting from the leftmost column.

Further, when the writing of code bits up to the rightmost column iscompleted, the column twist interleaver 24 reads code bits from thememory 31 in the row direction, starting from the first row of all thecolumns of the memory 31, in units of 4 bits (i.e., mb bits), andoutputs the read code bits as an LDPC code that has been subjected tocolumn twist interleaving to the permutation unit 32 (FIGS. 22 and 23)of the demultiplexer 25.

In this regard, in the column twist interleaver 24, if the address ofthe first (or top) position of each column is represented by 0 and theaddresses of the respective positions in the column direction arerepresented by integers arranged in ascending order, the write startposition for the leftmost column is set to the position at the address0, the write start position for the second column (from the left) is setto the position at the address 2, the write start position for the thirdcolumn is set to the position at the address 4, and the write startposition for the fourth column is set to the position of the address 7.

Note that, after writing code bits up to the bottom of the column forwhich the write start position is set to a position other than theposition at the address 0, the column twist interleaver 24 returns tothe first position (i.e., the position at the address 0), and writescode bits up to the position immediately before the write startposition. The column twist interleaver 24 then performs writing to thesubsequent (right) column.

The column twist interleaving operation described above may prevent aplurality of code bits corresponding to a plurality of variable nodesconnected to the same check node for an LDPC code defined in DVB-T.2 andsimilar standards from being mapped to one symbol of 16APSK or 16QAM(i.e., from being included in the same symbol). Therefore, decodingperformance can be improved in a communication path with an erasure.

FIG. 29 illustrates the number of columns of the memory 31 which isnecessary for column twist interleaving, and the addresses of writestart positions, in association with each modulation scheme, for an LDPCcode having a code length N of 64800 and each of the 11 code rates,which is defined in the DVB-T.2 standard.

The multiple b is 1, and the number of bits m of one symbol is 2 when,for example, QPSK is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 2 columns for storing 2×1(=mb) bits in its row direction, and stores 64800/(2×1) bits in itscolumn direction.

Further, the write start position for the first column out of the 2columns of the memory 31 is set to the position at the address 0, andthe write start position for the second column is set to the position atthe address 2.

The multiple b is 1 when, for example, one of the first to thirdpermutation types illustrated in FIG. 22 is employed as the permutationtype of the permutation processing of the demultiplexer 25 (FIG. 9).

The multiple b is 2, and the number of bits m of one symbol is 2 when,for example, QPSK is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 4 columns for storing 2×2 bitsin its row direction, and stores 64800/(2×2) bits in its columndirection.

Further, the write start position for the first column out of the 4columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 4, and the write start position for the fourthcolumn is set to the position at the address 7.

Note that the multiple b is 2 when, for example, the fourth permutationtype illustrated in FIG. 23 is employed as the permutation type of thepermutation processing of the demultiplexer 25 (FIG. 9).

The multiple b is 1, and the number of bits m of one symbol is 4 when,for example, 16QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 4 columns for storing 4×1 bitsin its row direction, and stores 64800/(4×1) bits in its columndirection.

Further, the write start position for the first column out of the 4columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 4, and the write start position for the fourthcolumn is set to the position at the address 7.

The multiple b is 2, and the number of bits m of one symbol is 4 when,for example, 16QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 8 columns for storing 4×2 bitsin its row direction, and stores 64800/(4×2) bits in its columndirection.

Further, the write start position for the first column out of the 8columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 4, the write start positionfor the fifth column is set to the position at the address 4, the writestart position for the sixth column is set to the position at theaddress 5, the write start position for the seventh column is set to theposition at the address 7, and the write start position for the eighthcolumn is set to the position at the address 7.

The multiple b is 1, and the number of bits m of one symbol is 6 when,for example, 64QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 6 columns for storing 6×1 bitsin its row direction, and stores 64800/(6×1) bits in its columndirection.

Further, the write start position for the first column out of the 6columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 5, the write start position for the fourthcolumn is set to the position at the address 9, the write start positionfor the fifth column is set to the position at the address 10, and thewrite start position for the sixth column is set to the position at theaddress 13.

The multiple b is 2, and the number of bits m of one symbol is 6 when,for example, 64QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 12 columns for storing 6×2bits in its row direction, and stores 64800/(6×2) bits in its columndirection.

Further, the write start position for the first column out of the 12columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 3, the writestart position for the sixth column is set to the position at theaddress 4, the write start position for the seventh column is set to theposition at the address 4, the write start position for the eighthcolumn is set to the position at the address 5, the write start positionfor the ninth column is set to the position at the address 5, the writestart position for the tenth column is set to the position at theaddress 7, the write start position for the eleventh column is set tothe position at the address 8, and the write start position for thetwelfth column is set to the position at the address 9.

The multiple b is 1, and the number of bits m of one symbol is 8 when,for example, 256QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 8 columns for storing 8×1 bitsin its row direction, and stores 64800/(8×1) bits in its columndirection.

Further, the write start position for the first column out of the 8columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 4, the write start positionfor the fifth column is set to the position at the address 4, the writestart position for the sixth column is set to the position at theaddress 5, the write start position for the seventh column is set to theposition at the address 7, and the write start position for the eighthcolumn is set to the position at the address 7.

The multiple b is 2, and the number of bits m of one symbol is 8 when,for example, 256QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 29, the memory 31 has 16 columns for storing 8×2bits in its row direction, and stores 64800/(8×2) bits in its columndirection.

Further, the write start position for the first column out of the 16columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 2, the writestart position for the sixth column is set to the position at theaddress 3, the write start position for the seventh column is set to theposition at the address 7, the write start position for the eighthcolumn is set to the position at the address 15, the write startposition for the ninth column is set to the position at the address 16,the write start position for the tenth column is set to the position atthe address 20, the write start position for the eleventh column is setto the position at the address 22, the write start position for thetwelfth column is set to the position at the address 22, the write startposition for the thirteenth column is set to the position at the address27, the write start position for the fourteenth column is set to theposition at the address 27, the write start position for the fifteenthcolumn is set to the position at the address 28, and the write startposition for the sixteenth column is set to the position at the address32.

The multiple b is 1, and the number of bits m of one symbol is 10 when,for example, 1024QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 29, the memory 31 has 10 columns for storing 10×1bits in its row direction, and stores 64800/(10×1) bits in its columndirection.

Further, the write start position for the first column out of the 10columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 3, the write start position for the third column is set to theposition at the address 6, the write start position for the fourthcolumn is set to the position at the address 8, the write start positionfor the fifth column is set to the position at the address 11, the writestart position for the sixth column is set to the position at theaddress 13, the write start position for the seventh column is set tothe position at the address 15, the write start position for the eighthcolumn is set to the position at the address 17, the write startposition for the ninth column is set to the position at the address 18,and the write start position for the tenth column is set to the positionat the address 20.

The multiple b is 2, and the number of bits m of one symbol is 10 when,for example, 1024QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 29, the memory 31 has 20 columns for storing 10×2bits in its row direction, and stores 64800/(10×2) bits in its columndirection.

Further, the write start position for the first column out of the 20columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 1, the write start position for the third column is set to theposition at the address 3, the write start position for the fourthcolumn is set to the position at the address 4, the write start positionfor the fifth column is set to the position at the address 5, the writestart position for the sixth column is set to the position at theaddress 6, the write start position for the seventh column is set to theposition at the address 6, the write start position for the eighthcolumn is set to the position at the address 9, the write start positionfor the ninth column is set to the position at the address 13, the writestart position for the tenth column is set to the position at theaddress 14, the write start position for the eleventh column is set tothe position at the address 14, the write start position for the twelfthcolumn is set to the position at the address 16, the write startposition for the thirteenth column is set to the position at the address21, the write start position for the fourteenth column is set to theposition at the address 21, the write start position for the fifteenthcolumn is set to the position at the address 23, the write startposition for the sixteenth column is set to the position at the address25, the write start position for the seventeenth column is set to theposition at the address 25, the write start position for the eighteenthcolumn is set to the position at the address 26, the write startposition for the nineteenth column is set to the position at the address28, and the write start position for the twentieth column is set to theposition at the address 30.

The multiple b is 1, and the number of bits m of one symbol is 12 when,for example, 4096QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 29, the memory 31 has 12 columns for storing 12×1bits in its row direction, and stores 64800/(12×1) bits in its columndirection.

Further, the write start position for the first column out of the 12columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 3, the writestart position for the sixth column is set to the position at theaddress 4, the write start position for the seventh column is set to theposition at the address 4, the write start position for the eighthcolumn is set to the position at the address 5, the write start positionfor the ninth column is set to the position at the address 5, the writestart position for the tenth column is set to the position at theaddress 7, the write start position for the eleventh column is set tothe position at the address 8, and the write start position for thetwelfth column is set to the position at the address 9.

The multiple b is 2, and the number of bits m of one symbol is 12 when,for example, 4096QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 29, the memory 31 has 24 columns for storing 12×2bits in its row direction, and stores 64800/(12×2) bits in its columndirection.

Further, the write start position for the first column out of the 24columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 5, the write start position for the third column is set to theposition at the address 8, the write start position for the fourthcolumn is set to the position at the address 8, the write start positionfor the fifth column is set to the position at the address 8, the writestart position for the sixth column is set to the position at theaddress 8, the write start position for the seventh column is set to theposition at the address 10, the write start position for the eighthcolumn is set to the position at the address 10, the write startposition for the ninth column is set to the position at the address 10,the write start position for the tenth column is set to the position atthe address 12, the write start position for the eleventh column is setto the position at the address 13, the write start position for thetwelfth column is set to the position at the address 16, the write startposition for the thirteenth column is set to the position at the address17, the write start position for the fourteenth column is set to theposition at the address 19, the write start position for the fifteenthcolumn is set to the position at the address 21, the write startposition for the sixteenth column is set to the position at the address22, the write start position for the seventeenth column is set to theposition at the address 23, the write start position for the eighteenthcolumn is set to the position at the address 26, the write startposition for the nineteenth column is set to the position at the address37, the write start position for the twentieth column is set to theposition at the address 39, the write start position for thetwenty-first column is set to the position at the address 40, the writestart position for the twenty-second column is set to the position atthe address 41, the write start position for the twenty-third column isset to the position at the address 41, and the write start position forthe twenty-fourth column is set to the position at the address 41.

FIG. 30 illustrates the number of columns of the memory 31 which isnecessary for column twist interleaving, and the addresses of writestart positions, in association with each modulation scheme, for an LDPCcode having a code length N of 16200 and each of the 10 code rates,which is defined in the DVB-T.2 standard.

The multiple b is 1, and the number of bits m of one symbol is 2 when,for example, QPSK is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 2 columns for storing 2×1 bitsin its row direction, and stores 16200/(2×1) bits in its columndirection.

Further, the write start position for the first column out of the 2columns of the memory 31 is set to the position at the address 0, andthe write start position for the second column is set to the position atthe address 0.

The multiple b is 2, and the number of bits m of one symbol is 2 when,for example, QPSK is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 4 columns for storing 2×2 bitsin its row direction, and stores 16200/(2×2) bits in its columndirection.

Further, the write start position for the first column out of the 4columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 3, and the write start position for the fourthcolumn is set to the position at the address 3.

The multiple b is 1, and the number of bits m of one symbol is 4 when,for example, 16QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 4 columns for storing 4×1 bitsin its row direction, and stores 16200/(4×1) bits in its columndirection.

Further, the write start position for the first column out of the 4columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 2, the write start position for the third column is set to theposition at the address 3, and the write start position for the fourthcolumn is set to the position at the address 3.

The multiple b is 2, and the number of bits m of one symbol is 4 when,for example, 16QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 8 columns for storing 4×2 bitsin its row direction, and stores 16200/(4×2) bits in its columndirection.

Further, the write start position for the first column out of the 8columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 1, the write start positionfor the fifth column is set to the position at the address 7, the writestart position for the sixth column is set to the position at theaddress 20, the write start position for the seventh column is set tothe position at the address 20, and the write start position for theeighth column is set to the position at the address 21.

The multiple b is 1, and the number of bits m of one symbol is 6 when,for example, 64QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 6 columns for storing 6×1 bitsin its row direction, and stores 16200/(6×1) bits in its columndirection.

Further, the write start position for the first column out of the 6columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 3, the write start positionfor the fifth column is set to the position at the address 7, and thewrite start position for the sixth column is set to the position at theaddress 7.

The multiple b is 2, and the number of bits m of one symbol is 6 when,for example, 64QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 12 columns for storing 6×2bits in its row direction, and stores 16200/(6×2) bits in its columndirection.

Further, the write start position for the first column out of the 12columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 2, the writestart position for the sixth column is set to the position at theaddress 2, the write start position for the seventh column is set to theposition at the address 3, the write start position for the eighthcolumn is set to the position at the address 3, the write start positionfor the ninth column is set to the position at the address 3, the writestart position for the tenth column is set to the position at theaddress 6, the write start position for the eleventh column is set tothe position at the address 7, and the write start position for thetwelfth column is set to the position at the address 7.

The multiple b is 1, and the number of bits m of one symbol is 8 when,for example, 256QAM is employed as a modulation scheme. In this case, asillustrated in FIG. 30, the memory 31 has 8 columns for storing 8×1 bitsin its row direction, and stores 16200/(8×1) bits in its columndirection.

Further, the write start position for the first column out of the 8columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 1, the write start positionfor the fifth column is set to the position at the address 7, the writestart position for the sixth column is set to the position at theaddress 20, the write start position for the seventh column is set tothe position at the address 20, and the write start position for theeighth column is set to the position at the address 21.

The multiple b is 1, and the number of bits m of one symbol is 10 when,for example, 1024QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 30, the memory 31 has 10 columns for storing 10×1bits in its row direction, and stores 16200/(10×1) bits in its columndirection.

Further, the write start position for the first column out of the 10columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 1, the write start position for the third column is set to theposition at the address 2, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 3, the writestart position for the sixth column is set to the position at theaddress 3, the write start position for the seventh column is set to theposition at the address 4, the write start position for the eighthcolumn is set to the position at the address 4, the write start positionfor the ninth column is set to the position at the address 5, and thewrite start position for the tenth column is set to the position at theaddress 7.

The multiple b is 2, and the number of bits m of one symbol is 10 when,for example, 1024QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 30, the memory 31 has 20 columns for storing 10×2bits in its row direction, and stores 16200/(10×2) bits in its columndirection.

Further, the write start position for the first column out of the 20columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 2, the writestart position for the sixth column is set to the position at theaddress 2, the write start position for the seventh column is set to theposition at the address 2, the write start position for the eighthcolumn is set to the position at the address 2, the write start positionfor the ninth column is set to the position at the address 5, the writestart position for the tenth column is set to the position at theaddress 5, the write start position for the eleventh column is set tothe position at the address 5, the write start position for the twelfthcolumn is set to the position at the address 5, the write start positionfor the thirteenth column is set to the position at the address 5, thewrite start position for the fourteenth column is set to the position atthe address 7, the write start position for the fifteenth column is setto the position at the address 7, the write start position for thesixteenth column is set to the position at the address 7, the writestart position for the seventeenth column is set to the position at theaddress 7, the write start position for the eighteenth column is set tothe position at the address 8, the write start position for thenineteenth column is set to the position at the address 8, and the writestart position for the twentieth column is set to the position at theaddress 10.

The multiple b is 1, and the number of bits m of one symbol is 12 when,for example, 4096QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 30, the memory 31 has 12 columns for storing 12×1bits in its row direction, and stores 16200/(12×1) bits in its columndirection.

Further, the write start position for the first column out of the 12columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 2, the write start positionfor the fifth column is set to the position at the address 2, the writestart position for the sixth column is set to the position at theaddress 2, the write start position for the seventh column is set to theposition at the address 3, the write start position for the eighthcolumn is set to the position at the address 3, the write start positionfor the ninth column is set to the position at the address 3, the writestart position for the tenth column is set to the position at theaddress 6, the write start position for the eleventh column is set tothe position at the address 7, and the write start position for thetwelfth column is set to the position at the address 7.

The multiple b is 2, and the number of bits m of one symbol is 12 when,for example, 4096QAM is employed as a modulation scheme. In this case,as illustrated in FIG. 30, the memory 31 has 24 columns for storing 12×2bits in its row direction, and stores 16200/(12×2) bits in its columndirection.

Further, the write start position for the first column out of the 24columns of the memory 31 is set to the position at the address 0, thewrite start position for the second column is set to the position at theaddress 0, the write start position for the third column is set to theposition at the address 0, the write start position for the fourthcolumn is set to the position at the address 0, the write start positionfor the fifth column is set to the position at the address 0, the writestart position for the sixth column is set to the position at theaddress 0, the write start position for the seventh column is set to theposition at the address 0, the write start position for the eighthcolumn is set to the position at the address 1, the write start positionfor the ninth column is set to the position at the address 1, the writestart position for the tenth column is set to the position at theaddress 1, the write start position for the eleventh column is set tothe position at the address 2, the write start position for the twelfthcolumn is set to the position at the address 2, the write start positionfor the thirteenth column is set to the position at the address 2, thewrite start position for the fourteenth column is set to the position atthe address 3, the write start position for the fifteenth column is setto the position at the address 7, the write start position for thesixteenth column is set to the position at the address 9, the writestart position for the seventeenth column is set to the position at theaddress 9, the write start position for the eighteenth column is set tothe position at the address 9, the write start position for thenineteenth column is set to the position at the address 10, the writestart position for the twentieth column is set to the position at theaddress 10, the write start position for the twenty-first column is setto the position at the address 10, the write start position for thetwenty-second column is set to the position at the address 10, the writestart position for the twenty-third column is set to the position at theaddress 10, and the write start position for the twenty-fourth column isset to the position at the address 11.

FIG. 31 is a flowchart depicting a process performed in the LDPC encoder115, the bit interleaver 116, and the QAM encoder 117 illustrated inFIG. 8.

The LDPC encoder 115 waits for LDPC target data to be supplied from theBCH encoder 114. In step S101, the LDPC encoder 115 encodes the LDPCtarget data into an LDPC code, and supplies the LDPC code to the bitinterleaver 116. Then, the process proceeds to step S102.

In step S102, the bit interleaver 116 performs bit interleaving on theLDPC code supplied from the LDPC encoder 115, and supplies a symbolobtained by symbolizing the LDPC code that has been subjected to bitinterleaving, to the QAM encoder 117. Then, the process proceeds to stepS103.

More specifically, in step S102, in the bit interleaver 116 (FIG. 9),the parity interleaver 23 performs parity interleaving on the LDPC codesupplied from the LDPC encoder 115, and supplies the LDPC code that hasbeen subjected to parity interleaving to the column twist interleaver24.

The column twist interleaver 24 performs column twist interleaving onthe LDPC code supplied from the parity interleaver 23, and supplies theresulting LDPC code to the demultiplexer 25.

The demultiplexer 25 performs permutation processing to permute the codebits of the LDPC code that has been subjected to column twistinterleaving by the column twist interleaver 24 and to map the permutedcode bits to symbol bits of a symbol (i.e., bits representing thesymbol).

Here, the permutation processing of the demultiplexer 25 may beperformed in accordance with any of the first to fourth permutationtypes illustrated in FIGS. 22 and 23, and may also be performed inaccordance with a certain predetermined allocation rule to allocate codebits of an LDPC code to symbol bits representing a symbol.

The symbols obtained by the permutation processing performed by thedemultiplexer 25 are supplied from the demultiplexer 25 to the QAMencoder 117.

In step S103, the QAM encoder 117 maps the symbols supplied from thedemultiplexer 25 to constellation points defined by the modulationscheme for the orthogonal modulation to be performed by the QAM encoder117, and then performs orthogonal modulation. The resulting data issupplied to the time interleaver 118.

As described above, parity interleaving and column twist interleavingmay improve resistance to erasures or burst errors in a case where aplurality of code bits of an LDPC code are transmitted as one symbol.

Here, in FIG. 9, the parity interleaver 23 serving as a block configuredto perform parity interleaving and the column twist interleaver 24serving as a block configured to perform column twist interleaving areconfigured as separate units, for convenience of illustration. However,the parity interleaver 23 and the column twist interleaver 24 may beintegrated into a single unit.

More specifically, both parity interleaving and column twistinterleaving can be performed by writing and reading code bits to andfrom a memory, and can be represented by a matrix that converts anaddress at which a code bit is to be written i.e., a write address) toan address at which a code bit is to be read (i.e., a read address).

Accordingly, once a matrix obtained by multiplying a matrix representingparity interleaving and a matrix representing column twist interleavingis determined, an LDPC code that has been subjected to parityinterleaving and then column twist interleaving can be obtained byconverting code bits using the determined matrix.

Furthermore, the demultiplexer 25 in addition to the parity interleaver23 and the column twist interleaver 24 may also be integrated into asingle unit.

More specifically, the permutation processing performed in thedemultiplexer 25 can also be represented by a matrix that converts awrite address in the memory 31 at which an LDPC code is stored to a readaddress.

Accordingly, once a matrix obtained by multiplying a matrix representingparity interleaving, a matrix representing column twist interleaving,and a matrix representing permutation processing is determined, parityinterleaving, column twist interleaving, and permutation processing canbe performed in a batch way using the determined matrix.

Note that either parity interleaving or column twist interleaving may beperformed, or neither of them may be performed. For example, as in theDVB-S.2 system, if the communication path 13 (FIG. 7) is a non-AWGNchannel that does not much take into account burst errors, flutters, andso forth, such as a satellite link, none of parity interleaving andcolumn twist interleaving may be performed.

Next, simulations for measuring error rates (bit error rates) that wereperformed on the transmitting device 11 illustrated in FIG. 8 will bedescribed with reference to FIGS. 32 to 34.

The simulations were performed using a communication path with a flutterhaving a D/U of 0 dB.

FIG. 32 illustrates a model of a communication path employed in thesimulations.

More specifically, part A of FIG. 32 illustrates a model of a flutteremployed in the simulations.

Further, part B of FIG. 32 illustrates a model of a communication pathhaving the flutter represented by the model illustrated in part A ofFIG. 32.

Note that, in part B of FIG. 32, H represents the model of the flutterillustrated in part A of FIG. 32. In part B of FIG. 32, furthermore, Nrepresents the ICI (Inter Carrier Interference). In the simulations, anexpected value E[N²] of the power of the ICI was approximated by AWGN.

FIGS. 33 and 34 illustrate relationships between Doppler frequenciesf_(d) of flutters and error rates obtained in the simulations.

Note that FIG. 33 illustrates relationships between error rates andDoppler frequencies f_(d) in a case where the modulation scheme is16QAM, the code rate (r) is 3/4, and the permutation type is the firstpermutation type. FIG. 34 illustrates relationships between error ratesand Doppler frequencies f_(d) in a case where the modulation scheme is64QAM, the code rate (r) is 5/6, and the permutation type is the firstpermutation type.

In FIGS. 33 and 34, furthermore, bold lines indicate relationshipsbetween error rates and Doppler frequencies f_(d) in a case where parityinterleaving, column twist interleaving, and permutation processing wereall carried out, and thin lines indicate relationships between errorrates and Doppler frequencies f_(d) in a case where only permutationprocessing out of parity interleaving, column twist interleaving, andpermutation processing was carried out.

It can be seen from any of FIGS. 33 and 34 that the error-rateperformance is improved (i.e., error rates are reduced) in the casewhere parity interleaving, column twist interleaving, and permutationprocessing were all carried out, compared to the case where onlypermutation processing was carried out.

[Example Configuration of LDPC Encoder 115]

FIG. 35 is a block diagram illustrating an example configuration of theLDPC encoder 115 illustrated in FIG. 8.

Note that the LDPC encoder 122 illustrated in FIG. 8 also has a similarconfiguration.

As described with reference to FIGS. 12 and 13, LDPC codes having twotypes of code lengths N of 64800 bits and 16200 bits are defined in theDVB-S.2 and similar standards.

In addition, 11 code rates, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6,8/9, and 9/10, are defined for LDPC codes having a code length N of64800 bits, and 10 code rates, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5,5/6, and 8/9, are defined for LDPC codes having a code length N of 16200bits (FIGS. 12 and 13).

The LDPC encoder 115 is capable of performing encoding (i.e., errorcorrecting encoding) using, for example, the LDPC codes having codelengths N of 64800 bits and 16200 bits and the respective code rates, inaccordance with the parity check matrix H prepared for each code lengthN and each code rate.

The LDPC encoder 115 includes an encoding processing unit 601 and astorage unit 602.

The encoding processing unit 601 includes a code rate setting unit 611,an initial value table read unit 612, a parity check matrix generationunit 613, an information bit read unit 614, an encoding paritycomputation unit 615, and a control unit 616. The encoding processingunit 601 performs LDPC encoding on the LDPC target data supplied to theLDPC encoder 115, and supplies the resulting LDPC code to the bitinterleaver 116 (FIG. 8).

More specifically, the code rate setting unit 611 sets a code length Nand a code rate of the LDPC code in accordance with, for example, anoperation of an operator or the like.

The initial value table read unit 612 reads a parity check matrixinitial value table, described below, corresponding to the code length Nand code rate set by the code rate setting unit 611 from the storageunit 602.

The parity check matrix generation unit 613 generates a parity checkmatrix H on the basis of the parity check matrix initial value tableread by the initial value table read unit 612, by arranging elements of1 in an information matrix H_(A) having an information length K (=codelength N−parity length M) corresponding to the code length N and coderate set by the code rate setting unit 611, in a column direction atintervals of 360 columns (i.e., the number of unit columns P of thecyclic structure). The parity check matrix H is stored in the storageunit 602.

The information bit read unit 614 reads (or extracts) information bitscorresponding to the information length K from the LDPC target datasupplied to the LDPC encoder 115.

The encoding parity computation unit 615 reads the parity check matrix Hgenerated by the parity check matrix generation unit 613 from thestorage unit 602, and generates a code word (i.e., an LDPC code) bycalculating parity bits corresponding to the information bits read bythe information bit read unit 614 in accordance with a certain formulaby using the parity check matrix H.

The control unit 616 controls the blocks included in the encodingprocessing unit 601.

The storage unit 602 has stored therein a plurality of parity checkmatrix initial value tables and the like respectively corresponding tothe plurality of code rates and the like illustrated in FIGS. 12 and 13for the respective code lengths N such as 64800 bits and 16200 bits. Inaddition, the storage unit 602 temporarily stores data necessary for theprocessing of the encoding processing unit 601.

FIG. 36 is a flowchart depicting a process of the LDPC encoder 115illustrated in FIG. 35.

In step S201, the code rate setting unit 611 determines (or sets) a codelength N and a code rate r for LDPC encoding.

In step S202, the initial value table read unit 612 reads apredetermined parity check matrix initial value table corresponding tothe code length N and code rate r determined by the code rate settingunit 611 from the storage unit 602.

In step S203, the parity check matrix generation unit 613 determines (orgenerates) a parity check matrix H of an LDPC code having the codelength N and code rate r determined by the code rate setting unit 611 byusing the parity check matrix initial value table read by the initialvalue table read unit 612 from the storage unit 602, and supplies theparity check matrix H to the storage unit 602 for storage.

In step S204, the information bit read unit 614 reads information bitsof the information length K (=N×r) corresponding to the code length Nand code rate r determined by the code rate setting unit 611 from theLDPC target data supplied to the LDPC encoder 115, and also reads theparity check matrix H determined by the parity check matrix generationunit 613 from the storage unit 602. Then, the information bit read unit614 supplies the read information bits and parity check matrix H to theencoding parity computation unit 615.

In step S205, the encoding parity computation unit 615 sequentiallycomputes parity bits of a code word c satisfying Expression (8) by usingthe information bits and the parity check matrix H supplied from theinformation bit read unit 614.

Hc ^(T)=0  (8)

In Expression (8), c denotes a row vector as a code word (i.e., LDPCcode), and c^(T) denotes the transpose of the row vector c.

Here, as described above, if an information bit portion of the rowvector c as the LDPC code (i.e., one code word) is represented by a rowvector A and a parity bit portion is represented by a row vector T, therow vector c can be represented by the equation c=[A|T] using the rowvector A corresponding to information bits and the row vector Tcorresponding to parity bits.

It is necessary for the parity check matrix H and the row vector c=[A|T]corresponding to the LDPC code to satisfy the equation Hc^(T)=0. Thevalues of the elements of the row vector T corresponding to parity bitsin the row vector c=[A|T] satisfying the equation Hc^(T)=0 can besequentially determined by setting the elements in the respective rowsof the column vector Hc^(T) in the equation Hc^(T)=0 to zero in order,starting from the element in the first row, in a case where the paritymatrix H_(T) in the parity check matrix H=[H_(A)|H_(T)] has the stepwisestructure illustrated in FIG. 11.

The encoding parity computation unit 615 determines parity bits Tcorresponding to the information bits A supplied from the informationbit read unit 614, and outputs a code word c=[A|T], which is representedby the information bits A and the parity bits T, as a result of LDPCencoding of the information bits A.

Then, in step S206, the control unit 616 determines whether or not toterminate the LDPC encoding operation. If it is determined in step S206that the LDPC encoding operation is not to be terminated, for example,if there is any LDPC target data to be subjected to LDPC encoding, theprocess returns to step S201 (or step S204), and the processing of stepsS201 (or steps S204) to S206 is subsequently repeatedly performed.

Further, if it is determined in step S206 that the LDPC encodingoperation is to be terminated, for example, if there is no LDPC targetdata to be subjected to LDPC encoding, the LDPC encoder 115 terminatesthe process.

As described above, parity check matrix initial value tablescorresponding to the respective code lengths N and the respective coderates r are prepared, and the LDPC encoder 115 performs LDPC encodingwith a certain code length N and a certain code rate r by using a paritycheck matrix H generated from the parity check matrix initial valuetable corresponding to the certain code length N and the certain coderate r.

[Example of Parity Check Matrix Initial Value Table]

A parity check matrix initial value table is a table showing thepositions of elements of 1 in an information matrix H_(A) (FIG. 10)having an information length K corresponding to a code length N and coderate r of an LDPC code (i.e., an LDPC code defined by the parity checkmatrix H) in the parity check matrix H, in units of 360 columns (i.e.,the number of unit columns P of the cyclic structure). A parity checkmatrix initial value table is created in advance for each of paritycheck matrices H having the respective code lengths N and the respectivecode rates r.

FIG. 37 is a diagram illustrating an example of a parity check matrixinitial value table.

More specifically, FIG. 37 illustrates a parity check matrix initialvalue table for a parity check matrix H having a code length N of 16200bits and a code rate (nominal code rate defined in DVB-T.2) r of 1/4,which is defined in the DVB-T.2 standard.

The parity check matrix generation unit 613 (FIG. 35) determines aparity check matrix H in the following way using the parity check matrixinitial value table.

More specifically, FIG. 38 illustrates a method for determining a paritycheck matrix H from a parity check matrix initial value table.

Note that the parity check matrix initial value table illustrated inFIG. 38 is a parity check matrix initial value table for a parity checkmatrix H having a code length N of 16200 bits and a code rate r of 2/3,which is defined in the DVB-T.2 standard.

As described above, a parity check matrix initial value table is a tableshowing the positions of elements of 1 in an information matrix H_(A)(FIG. 10) having an information length K corresponding to a code lengthN and code rate r of an LDPC code in units of 360 columns (i.e., thenumber of unit columns P of the cyclic structure). In the i-th row ofthe parity check matrix initial value table, row numbers of elements of1 in the {1+360×(i−1)}-th column of the parity check matrix H (i.e., rownumbers in which the row number of the first row of the parity checkmatrix H is set to 0), the number of which is equal to the number ofcolumn weights assigned to the {1+360×(i−1)}-th column, are arranged.

Here, since the parity matrix H_(T) (FIG. 10) of the parity check matrixH, corresponding to the parity length M, is determined in the mannerillustrated in FIG. 25, the information matrix H_(A) (FIG. 10) of theparity check matrix H, corresponding to the information length K, isdetermined using the parity check matrix initial value table.

The number of rows k+1 of the parity check matrix initial value tablediffers depending on the information length K.

A relationship given by Expression (9) is established between theinformation length K and the number of rows k+1 of the parity checkmatrix initial value table.

K=(k+1)×360  (9)

Here, in Expression (9), 360 is the number of unit columns P of thecyclic structure described with reference to FIG. 26.

In the parity check matrix initial value table illustrated in FIG. 38,13 values are arranged in each of the first to third rows, and threevalues are arranged in each of the fourth to (k+1)-th row (in FIG. 38,the 30th row).

Accordingly, the column weights of the parity check matrix H determinedfrom the parity check matrix initial value table illustrated in FIG. 38are 13 for the first to {1+360×(3−1)−1}-th columns, and 3 for the{1+360×(3−1)}-th to K-th columns.

In the parity check matrix initial value table illustrated in FIG. 38,the first row shows 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481,3369, 3451, 4620, and 2622, indicating that the elements of the rowswith the row numbers 0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481,3369, 3451, 4620, and 2622 in the first column of the parity checkmatrix H are 1 (and that the other elements are 0).

In the parity check matrix initial value table illustrated in FIG. 38,furthermore, the second row shows 1, 122, 1516, 3448, 2880, 1407, 1847,3799, 3529, 373, 971, 4358, and 3108, indicating that the elements ofthe rows with the row numbers 1, 122, 1516, 3448, 2880, 1407, 1847,3799, 3529, 373, 971, 4358, and 3108 in the 361st (=1+360×(2−1)) columnof the parity check matrix H are 1.

In the manner described above, a parity check matrix initial value tableshows the positions of elements of 1 in an information matrix H_(A) of aparity check matrix H in units of 360 columns.

The elements in the columns other than the {1+360×(i−1)}-th column ofthe parity check matrix H, that is, the elements in the {2+360×(i−1)}-thto (360×i)-th columns, are arranged by cyclically shifting the elementsof 1 in the {1+360×(i−1)}-th column, which are defined using the paritycheck matrix initial value table, downward (i.e., downward along thecolumns) in a periodic manner in accordance with the parity length M.

More specifically, for example, the elements in the {2+360×(i−1)}-thcolumn are obtained by cyclically shifting the elements in the{1+360×(i−1)}-th column downward by M/360 (=q). The elements in thesubsequent {3+360×(i−1)}-th column are obtained by cyclically shiftingthe elements in the {1+360×(i−1)}-th column downward by 2×M/360 (=2×q)(i.e., by cyclically shifting the elements in the {2+360×(i−1)}-thcolumn downward by M/360 (=q)).

It is assumed now that the value in the i-th row (i.e., the i-th rowfrom the top) and the j-th column (i.e., the j-th column from the left)of a parity check matrix initial value table is represented by H_(w-j),and the row number of the j-th element of 1 in the w-th column of aparity check matrix H is represented by H_(w-j). In this case, the rownumber H_(w-j) of an element of 1 in the w-th column, which is a columnother than the {1+360×(i−1)}-th column of the parity check matrix H, canbe determined using Expression (10).

H _(w-j)=mod(h _(i,j)+mod((w−1),P)×q,M)  (10)

Here, mod(x, y) represents the remainder after division of x by y.

In addition, P denotes the number of unit columns of cyclic structure,described above, and is, for example, 360 in the DVB-S.2, DVB-T.2, andDVB-C.2 standards, as described above. Further, q denotes the valueM/360 that is obtained by dividing the parity length M by the number ofunit columns P of the cyclic structure (=360).

The parity check matrix generation unit 613 (FIG. 35) specifies a rownumber of an element of 1 in the {1+360×(i−1)}-th column of the paritycheck matrix H by using the parity check matrix initial value table.

The parity check matrix generation unit 613 (FIG. 35) further determinesthe row number H_(W-j) of an element of 1 in the w-th column, which is acolumn other than the {1+360×(i−1)}-th column of the parity check matrixH, in accordance with Expression (10), and generates a parity checkmatrix H whose elements corresponding to the row numbers obtained in theway described above are 1.

[New LDPC Codes]

Incidentally, there has been a demand for proposing an improved version(hereinafter also referred to as “DVB-Sx”) of the DVB-S.2 standard.

In the CfT (Call for Technology), which was submitted in the meeting forDVB-Sx standardization, a certain number of ModCods (which arecombinations of modulation schemes (Modulation) and LDPC codes (Code))are demanded for each range of C/N (Carrier to Noise Ratio) (SNR (Signalto Noise Ratio)) in accordance with use case.

More specifically, in the CfT, the first request is to prepare 20ModCods for a C/N range of 7 dB from 5 dB to 12 dB for DTH (Direct ToHome) use.

In the CfT, additionally, the second request is to prepare 22 ModCodsfor a C/N range of 12 dB from 12 dB to 24 dB, the third request is toprepare 12 ModCods for a C/N range of 8 dB from −3 dB to 5 dB, and thefourth request is to prepare 5 ModCods for a C/N range of 7 dB from −10dB to −3 dB.

In the CfT, furthermore, it is also requested that the FER (Frame ErrorRate) for the ModCods in the first to fourth requests be approximately10⁻⁵ (or less).

Note that, in the CfT, the first request has a priority of “1”, which isthe highest, whereas the second to fourth requests have a priority of“2”, which is lower than the priority of the first request.

Accordingly, the present technology provides (a parity check matrix of)an LDPC code capable of satisfying at least the first request having thehighest priority in the CfT, as a new LDPC code.

FIG. 39 illustrates BER/FER curves for LDPC codes having a code length Nof 64k bits and 11 code rates, which are defined in the DVB-S.2, in acase where QPSK is employed as a modulation scheme.

In FIG. 39, the horizontal axis represents E_(s)/N₀ (the ratio of thesignal power per symbol to the noise power) corresponding to the C/N,and the vertical axis represents FER/BER. Note that, in FIG. 39, solidlines indicate FERs, and dotted lines indicate BERs (Bit Error Rates).

In FIG. 39, FER (BER) curves for LDPC codes having a code length N of64k bits and 11 code rates, which are defined in the DVB-S.2 standard,are plotted for an E_(s)/N₀ range of 10 dB in a case where QPSK isemployed as a modulation scheme.

More specifically, in FIG. 39, 11 FER curves for ModCods for which themodulation scheme is fixed to QPSK are drawn for an E_(s)/N₀ range ofapproximately 10 dB from approximately −3 dB to approximately 7 dB.

Accordingly, for LDPC codes having a code length N of 64k bits and 11code rates, which are defined in the DVB-S.2 standard, the intervalbetween FER curves for ModCods on average (hereinafter also referred toas an “average interval”) is approximately 1 dB (≅10 dB/(10−1)).

In contrast, since the first request in the CfT requests that 20 ModCodsbe prepared for an E_(s)/N₀ (C/N) range of 7 dB, the average intervalbetween FER curves for ModCods is approximately 0.3 dB 7 dB/(20-1)).

In a case where the modulation scheme is fixed to one type such as QPSK,LDPC codes with code rates, the number of which is approximately threetimes (≅1 dB/0.3 dB) the 11 code rates, or approximately 30 code rates,would be sufficient to ensure sufficient room to obtain ModCods havingan average interval of 0.3 dB which meets the first request in the CfT,compared to the case of DVB-S.2 in which ModCods having an averageinterval of approximately 1 dB are obtained using LDPC codes with the 11code rates.

In the present technology, accordingly, LDPC codes having a code lengthof 64k and code rates of i/30 (where i is a positive integer less than30) are prepared as LDPC codes having code rates for which approximately30 code rates are readily settable, and are provided as new LDPC codeswhich meet at least the first request having the highest priority in theCfT.

It is to be noted that parity matrices H_(T) of parity check matrices Hof the new LDPC codes have a stepwise structure (FIG. 11), similarly toan LDPC code defined in the DVB-S.2 standard, in terms of keepingcompatibility with DVB-S.2 as much as possible.

In addition, similarly to an LDPC code defined in the DVB-S.2 standard,information matrices H_(A) of parity check matrices H of the new LDPCcodes have a cyclic structure, where the number of unit columns P of thecyclic structure is also 360.

FIGS. 40 to 106 are diagrams illustrating an example of parity checkmatrix initial value tables for new LDPC codes having a code length N of64k bits and code rates of i/30, as described above.

Here, the new LDPC codes are LDPC codes whose code rates are representedby i/30, and therefore include LDPC codes having up to 29 code rates,1/30, 2/30, 3/30, . . . , 28/30, and 29/30.

However, an LDPC code with a code rate of 1/30 may be used in a limitedfashion in terms of efficiency. In addition, an LDPC code with a coderate of 29/30 may be used in a limited fashion in terms of error rate(BER/FER).

For the reason described above, among LDPC codes with 29 code rates,namely, code rates of 1/30 to 29/30, one or both of an LDPC code with acode rate of 1/30 and an LDPC code with a code rate of 29/30 can beconfigured not to be used as new LDPC codes.

Herein, LDPC codes with 28 code rates, for example, LDPC codes with coderates of 2/30 to 29/30 among code rates of 1/30 to 29/30, are used asnew LDPC codes, and parity check matrix initial value tables for paritycheck matrices H of the new LDPC codes will be given hereinbelow.

FIG. 40 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 2/30.

FIG. 41 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 3/30.

FIG. 42 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 4/30.

FIG. 43 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 5/30.

FIG. 44 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 6/30.

FIG. 45 illustrates a parity check matrix initial value table for aparity check matrix H of an LDPC code having a code length N of 64k bitsand a code rate r of 7/30.

FIGS. 46 and 47 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 8/30.

FIGS. 48 and 49 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 9/30.

FIGS. 50 and 51 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 10/30.

FIGS. 52 and 53 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 11/30.

FIGS. 54 and 55 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 12/30.

FIGS. 56 and 57 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 13/30.

FIGS. 58 and 59 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 14/30.

FIGS. 60 and 61 illustrate a parity check matrix initial value table fora parity check matrix H of an LDPC code having a code length N of 64kbits and a code rate r of 15/30.

FIGS. 62, 63, and 64 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 16/30.

FIGS. 65, 66, and 67 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 17/30.

FIGS. 68, 69, and 70 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 18/30.

FIGS. 71, 72, and 73 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 19/30.

FIGS. 74, 75, and 76 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 20/30.

FIGS. 77, 78, and 79 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 21/30.

FIGS. 80, 81, and 82 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 22/30.

FIGS. 83, 84, and 85 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 23/30.

FIGS. 86, 87, and 88 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 24/30.

FIGS. 89, 90, and 91 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 25/30.

FIGS. 92, 93, and 94 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and a code rate r of 26/30.

FIGS. 95, 96, 97, and 98 illustrate a parity check matrix initial valuetable for a parity check matrix H of an LDPC code having a code length Nof 64k bits and code rate r of 27/30.

FIGS. 99, 100, 101, and 102 illustrate a parity check matrix initialvalue table for a parity check matrix H of an LDPC code having a codelength N of 64k bits and a code rate r of 28/30.

FIGS. 103, 104, 105, and 106 illustrate a parity check matrix initialvalue table for a parity check matrix H of an LDPC code having a codelength N of 64k bits and a code rate r of 29/30.

The LDPC encoder 115 (FIGS. 8 and 35) is capable of performing encodingon a (new) LDPC code having a code length N of 64k bits and any of 28code rates r of 2/30 to 29/30 by using a parity check matrix Hdetermined from one of the parity check matrix initial value tablesillustrated in FIGS. 40 to 106.

In the illustrated example, the storage unit 602 of the LDPC encoder 115(FIG. 8) stores the parity check matrix initial value tables illustratedin FIGS. 40 to 106.

It is to be noted that not all the LDPC codes with 28 code rates r of2/30 to 29/30 (which are determined from the parity check matrix initialvalue tables) illustrated in FIGS. 40 to 106 may be used as new LDPC.That is, an LDPC code or codes with any one or more code rates among theLDPC codes with 28 code rates r of 2/30 to 29/30 illustrated in FIGS. 40to 106 may be employed as a new LDPC code or codes.

LDPC codes obtained using parity check matrices H determined from theparity check matrix initial value tables illustrated in FIGS. 40 to 106may be high-performance LDPC codes.

The term “high-performance LDPC code”, as used herein, refers to an LDPCcode obtained from an appropriate parity check matrix H.

Furthermore, the term “appropriate parity check matrix H” refers to aparity check matrix satisfying a certain condition in which the BER (andFER) is (or are) reduced when an LDPC code obtained from a parity checkmatrix H is transmitted with a low E_(s)/N₀ or E_(b)/N_(o) (which is theratio of the signal power per bit to the noise power).

An appropriate parity check matrix H may be determined throughsimulations for measuring BERs when, for example, LDPC codes obtainedfrom various parity check matrices satisfying a certain condition aretransmitted with a low E_(s)/N_(o).

Examples of the certain condition that an appropriate parity checkmatrix H is to satisfy include a condition that analysis resultsobtained using an analytical technique for the performance evaluation ofcodes, called density evolution, are good, and a condition that a loopof elements of 1, called cycle 4, does not exist.

Here, it is well established that a concentration of elements of 1, likecycle 4, in an information matrix H_(A) will reduce the decodingperformance of an LDPC code. Thus, the absence of cycle 4 is demanded asa certain condition that an appropriate parity check matrix H is tosatisfy.

Note that the certain condition that an appropriate parity check matrixH is to satisfy may be determined, as desired, in terms of variousfactors such as improved decoding performance of an LDPC code and easy(or simplified) decoding processing of an LDPC code.

FIGS. 107 and 108 are diagrams depicting density evolution through whichanalysis results are obtained, as a certain condition that anappropriate parity check matrix H is to satisfy.

Density evolution is a code analysis technique for calculating anexpected value of error probability for the set of all LDPC codes(“ensemble”) whose code length N, which is characterized by a degreesequence described below, is infinite (∞).

For example, if a noise variance increases from zero in an AWGN channel,the expected value of error probability for a certain ensemble isinitially zero, and becomes non-zero if the noise variance is greaterthan or equal to a certain threshold.

In the density evolution method, it can be determined whether theensemble performance (i.e., the appropriateness of a parity checkmatrix) is good or not, by comparing noise variance thresholds(hereinafter also referred to as “performance thresholds”) over whichthe expected values of error probability for ensembles become non-zero.

Note that the general performance of a specific LDPC code can bepredicted by determining an ensemble including the LDPC code andperforming density evolution on the ensemble.

Accordingly, once an ensemble with good performance is found, an LDPCcode with good performance may be found from among the LDPC codesincluded in the ensemble.

Here, the degree sequence, described above, represents the ratio ofvariable nodes or check nodes with a weight of each value to the codelength N of an LDPC code.

For example, a regular (3, 6) LDPC code with a code rate of 1/2 belongsto an ensemble characterized by a degree sequence indicating that theweight (column weight) for all the variable nodes is 3 and the weight(row weight) for all the check nodes is 6.

FIG. 107 illustrates a Tanner graph of the above-described ensemble.

The Tanner graph illustrated in FIG. 107 includes N variable nodesindicated by circles (“◯”) in FIG. 107, the number of which is equal tothe code length N, and N/2 check nodes indicated by squares (“□”) inFIG. 107, the number of which is equal to a value obtained bymultiplying the code length N by the code rate 1/2.

Three edges, the number of which is equal to the column weight, areconnected to each variable node. Therefore, 3N edges in total areconnected to the N variable nodes.

In addition, six edges, the number of which is equal to the row weight,are connected to each check node. Therefore, 3N edges in total areconnected to the N/2 check nodes.

In the Tanner graph illustrated in FIG. 107, one interleaver is alsoincluded.

The interleaver randomly reorders the 3N edges connected to the Nvariable nodes, and connects each of the reordered edges to one of the3N edges connected to the N/2 check nodes.

There are (3N)!(=(3N)×(3N−1)× . . . ×1) reordering patterns in which theinterleaver reorders the 3N edges connected to the N variable nodes.Accordingly, an ensemble characterized by a degree sequence indicatingthat the weight for all the variable nodes is 3 and the weight for allthe check nodes is 6 is the set of (3N)! LDPC codes.

In a simulation for determining an LDPC code with good performance(i.e., an appropriate parity check matrix), a multi-edge type ensemblewas used in density evolution.

In the multi-edge type, an interleaver through which edges connected tovariable nodes and edges connected to check nodes extend is divided intoa plurality of pieces (multi-edge), which may allow more accuratecharacterization of an ensemble.

FIG. 108 illustrates an example of a Tanner graph of a multi-edge typeensemble.

In the Tanner graph illustrated in FIG. 108, two interleavers, namely, afirst interleaver and a second interleaver, are included.

In addition, the Tanner graph illustrated in FIG. 108 includes v1variable nodes each having one edge connected to the first interleaverand zero edges connected to the second interleaver, v2 variable nodeseach having one edge connected to the first interleaver and two edgesconnected to the second interleaver, and v3 variable nodes each havingzero edges connected to the first interleaver and two edges connected tothe second interleaver.

The Tanner graph illustrated in FIG. 108 further includes c1 check nodeseach having two edges connected to the first interleaver and zero edgesconnected to the second interleaver, c2 check nodes each having twoedges connected to the first interleaver and two edges connected to thesecond interleaver, and c3 check nodes each having zero edges connectedto the first interleaver and three edges connected to the secondinterleaver.

Here, density evolution and an implementation thereof are described in,for example, “On the Design of Low-Density Parity-Check Codes within0.0045 dB of the Shannon Limit”, S. Y. Chung, G. D. Formey, T. J.Richardson, R. Urbanke, IEEE Communications Leggers, VOL. 5, NO. 2,February 2001.

In a simulation for determining (a parity check matrix initial valuetable of) a new LDPC code, an ensemble for which the performancethreshold, which is E_(b)/N₀ (which is the ratio of the signal power perbit to the noise power) at which a BER begins to drop (i.e., decreases),is less than or equal to a certain value was found using multi-edge typedensity evolution, and an LDPC code that reduces a BER in a plurality ofmodulation schemes used in DVB-S.2 and the like, such as QPSK, wasselected as an LDPC code with good performance from among the LDPC codesbelonging to the ensemble.

The parity check matrix initial value tables of the new LDPC codesdescribed above are parity check matrix initial value tables of LDPCcodes having a code length N of 64k bits, which are determined throughthe simulations described above.

FIG. 109 is a diagram illustrating minimum cycle lengths and performancethresholds for parity check matrices H which are determined from paritycheck matrix initial value tables of new LDPC codes having a code lengthN of 64k bits and 28 code rates of 2/30 to 29/30 illustrated in FIGS. 40to 106.

Here, a minimum cycle length (or girth) is a minimum value of the length(loop length) of a loop composed of elements of 1 in a parity checkmatrix H.

Cycle 4 (a loop of elements of 1, with a loop length of 4) does notexist in a parity check matrix H determined from a parity check matrixinitial value table of a new LDPC code.

In addition, as the code rate r decreases, the redundancy of an LDPCcode increases. Thus, the performance threshold tends to be improved(i.e., decrease) as the code rate r decreases.

FIG. 110 is a diagram depicting a parity check matrix H (hereinafteralso referred to as a “parity check matrix H of a new LDPC code”)(determined from each of the parity check matrix initial value tables)illustrated in FIGS. 40 to 106.

The parity check matrix H of the new LDPC code has a column weight X forKX columns, starting with the first column, a column weight of Y1 forthe subsequent KY1 columns, a column weight of Y2 for the subsequent KY2columns, a column weight of 2 for the subsequent (M−1) columns, and acolumn weight of 1 for the last column.

Here, the sum of columns given by KX+KY1+KY2+M−1+1 equals the codelength N=64800 bits.

FIG. 111 is a diagram illustrating the numbers of columns KX, KY1, KY2,and M, and the column weights X, Y1, and Y2 illustrated in FIG. 110 forthe respective code rates r of the new LDPC codes.

In a parity check matrix H of a new LDPC code having a code length N of64k, similarly to the parity check matrix described with reference toFIGS. 12 and 13, the column weight tends to increase as the ordinalnumber of the columns of the parity check matrix H decreases (i.e., asthe column comes closer to the left end of the parity check matrix H).Accordingly, robustness to errors (or resistance to errors) tends toincrease as the ordinal number of the code bits of a new LDPC codedecreases (i.e., the first code bit tends to be the most robust toerrors).

It is noted that the amount of shift q used in cyclic shifting which isperformed to determine a parity check matrix from a parity check matrixinitial value table of a new LDPC code having a code length N of 64k inthe way described with reference to FIG. 38 is represented by theequation q=M/P=M/360.

Accordingly, the amounts of shift for new LDPC codes with code rates of2/30, 3/30, 4/30, 5/30, 6/30, 7/30, 8/30, 9/30, 10/30, 11/30, 12/30,13/30, 14/30, 15/30, 16/30, 17/30, 18/30, 19/30, 20/30, 21/30, 22/30,23/30, 24/30, 25/30, 26/30, 27/30, 28/30, and 29/30 are 168, 162, 156,150, 144, 138, 132, 126, 120, 114, 108, 102, 96, 90, 84, 78, 72, 66, 60,54, 48, 42, 36, 30, 24, 18, 12, and 6, respectively.

FIGS. 112, 113, and 114 are diagrams illustrating simulated BERs/FERsfor the new LDPC codes illustrated in FIGS. 40 to 106.

The simulations were based on the assumption of an AWGN communicationpath (or channel), in which BPSK was employed as a modulation scheme andthe number of times of repetitive decoding C(it) was 50.

In FIGS. 112, 113, and 114, the horizontal axis represents E_(s)/N₀, andthe vertical axis represents BER/FER. Note that solid lines indicateBERs and dotted lines indicate FERs.

In FIGS. 112 to 114, FER (BER) curves for the respective new LDPC codeswith 28 code rates of 2/30 to 29/30 exhibit FERs less than or equal to10⁻⁵ for an E_(s)/N₀ range of (approximately) 15 dB from (substantially)−10 dB to 5 dB.

In the simulations, 28 ModCods having an FER less than or equal to 10⁻⁵for an E_(s)/N₀ range of 15 dB from −10 dB to 5 dB can be set.Accordingly, 20 or more ModCods having an FER less than or equal to 10⁻⁵for a range of 7 dB from 5 dB to 12 dB can be sufficiently predicted tobe set by taking into account various modulation schemes other than BPSKused in the simulations, such as QPSK, 8PSK, 16APSK, 32APSK, 16QAM,32QAM, and 64QAM.

Thus, it is possible to provide an LDPC code having good error-rateperformance, meeting the first request in the CfT.

In addition, referring to FIGS. 112 to 114, most of FER (BER) curves fornew LDPC codes are drawn at almost equal intervals less than 1 dB foreach of low-, intermediate-, and high-code-rate groups. Accordingly, thenew LDPC codes may provide broadcasters that broadcast programs usingthe transmitting device 11 with an advantage in facilitating selectionof code rates to be used for broadcasting in accordance with the stateof channels (i.e., the communication path 13).

Note that, in the simulations for determining the BER/FER curvesillustrated in FIGS. 112 to 114, BCH encoding was performed oninformation, and the resulting BCH codes underwent LDPC encoding.

FIG. 115 includes diagrams depicting BCH encoding which was used in thesimulations.

More specifically, part A of FIG. 115 is a diagram illustratingparameters of BCH encoding that is performed prior to the LDPC encodinginto an LDPC code of 64k, which is defined in the DVB-S.2 standard.

In DVB-S.2, 192, 160, or 128 redundancy bits are added in accordancewith the code rate of an LDPC code, thereby providing BCH encodingcapable of 12-, 10-, or 8-bit error correction.

Part B of FIG. 115 is a diagram illustrating parameters of BCH encodingwhich were used in the simulations.

In the simulations, similarly to the case of DVB-S.2, BCH encodingcapable of 12-, 10-, or 8-bit error correction was performed by additionof 192, 160, or 128 redundancy bits in accordance with the code rate ofan LDPC code.

[Example Configuration of Receiving Device 12]

FIG. 116 is a block diagram illustrating an example configuration of thereceiving device 12 illustrated in FIG. 7.

An OFDM processing unit (OFDM operation) 151 receives an OFDM signalfrom the transmitting device 11 (FIG. 7), and performs signal processingon the OFDM signal. The data (i.e., symbols) obtained through signalprocessing performed by the OFDM processing unit 151 is supplied to aframe management unit (Frame Management) 152.

The frame management unit 152 performs processing (frame interpretation)of a frame including the symbols supplied from the OFDM processing unit151 to obtain symbols of target data and symbols of control data, andsupplies the symbols of the target data and the symbols of the controldata to frequency deinterleavers 161 and 153, respectively.

The frequency deinterleaver 153 performs frequency deinterleaving on thesymbols supplied from the frame management unit 152 in units of symbols,and supplies the resulting symbols to a QAM decoder 154.

The QAM decoder 154 demaps the symbols (i.e., symbols mapped toconstellation points) supplied from the frequency deinterleaver 153(i.e., decodes the constellation points) for orthogonal demodulation,and supplies the resulting data (i.e., an LDPC code) to an LDPC decoder155.

The LDPC decoder 155 performs LDPC decoding on the LDPC code suppliedfrom the QAM decoder 154, and supplies the resulting LDPC target data(in the illustrated example, a BCH code) to a BCH decoder 156.

The BCH decoder 156 performs BCH decoding on the LDPC target datasupplied from the LDPC decoder 155, and outputs the resulting controldata (signalling).

On the other hand, the frequency deinterleaver 161 performs frequencydeinterleaving on the symbols supplied from the frame management unit152 in units of symbols, and supplies the resulting symbols to anMISO/MIMO decoder 162.

The MISO/MIMO decoder 162 performs space-time decoding on the data(i.e., symbols) supplied from the frequency deinterleaver 161, andsupplies the resulting data to a time deinterleaver 163.

The time deinterleaver 163 performs time deinterleaving on the data(i.e., symbols) supplied from the MISO/MIMO decoder 162 in units ofsymbols, and supplies the resulting data to a QAM decoder 164.

The QAM decoder 164 demaps the symbols (i.e., symbols mapped toconstellation points) supplied from the time deinterleaver 163 (i.e.,decodes the constellation points) for orthogonal demodulation, andsupplies the resulting data (i.e., symbols) to a bit deinterleaver 165.

The bit deinterleaver 165 performs bit deinterleaving on the data (i.e.,symbols) supplied from the QAM decoder 164, and supplies the resultingLDPC code to an LDPC decoder 166.

The LDPC decoder 166 performs LDPC decoding on the LDPC code suppliedfrom the bit deinterleaver 165, and supplies the resulting LDPC targetdata (in the illustrated example, a BCH code) to a BCH decoder 167.

The BCH decoder 167 performs BCH decoding on the LDPC target datasupplied from the LDPC decoder 155, and supplies the resulting data to aBB descrambler 168.

The BB descrambler 168 performs BB descrambling on the data suppliedfrom the BCH decoder 167, and supplies the resulting data to a nulldeletion unit (Null Deletion) 169.

The null deletion unit 169 deletes the null added by the padder 112illustrated in FIG. 8, from the data supplied from the BB descrambler168, and supplies the resulting data to a demultiplexer 170.

The demultiplexer 170 separates one or more streams (target data)multiplexed in the data supplied from the null deletion unit 169,performs necessary processing, and outputs the resulting data as outputstreams.

Note that the receiving device 12 may be configured without includingsome of the blocks illustrated in FIG. 116. More specifically, forexample, if the transmitting device 11 (FIG. 8) is configured withoutincluding the time interleaver 118, the MISO/MIMO encoder 119, thefrequency interleaver 120, and the frequency interleaver 124, thereceiving device 12 may be configured without including the timedeinterleaver 163, the MISO/MIMO decoder 162, the frequencydeinterleaver 161, and the frequency deinterleaver 153, which are theblocks corresponding to the time interleaver 118, the MISO/MIMO encoder119, the frequency interleaver 120, and the frequency interleaver 124 ofthe transmitting device 11, respectively.

FIG. 117 is a block diagram illustrating an example configuration of thebit deinterleaver 165 illustrated in FIG. 116.

The bit deinterleaver 165 includes a multiplexer (MUX) 54 and a columntwist deinterleaver 55, and performs (bit) deinterleaving on the symbolbits of the symbols supplied from the QAM decoder 164 (FIG. 116).

More specifically, the multiplexer 54 performs inverse permutationprocessing (which is the inverse of permutation processing),corresponding to the permutation processing performed by thedemultiplexer 25 illustrated in FIG. 9, on the symbol bits of thesymbols supplied from the QAM decoder 164. That is, the multiplexer 54performs inverse permutation processing to restore the positions of thecode bits (i.e., symbol bits) of the LDPC code permuted through thepermutation processing to the original positions, and supplies theresulting LDPC code to the column twist deinterleaver 55.

The column twist deinterleaver 55 performs column twist deinterleaving(which is the inverse of column twist interleaving), corresponding tocolumn twist interleaving as the reordering processing performed by thecolumn twist interleaver 24 illustrated in FIG. 9, on the LDPC codesupplied from the multiplexer 54. That is, the column twistdeinterleaver 55 performs inverse reordering processing, for example,column twist deinterleaving, to restore the code bits of the LDPC codewhose order has been changed through column twist interleaving asreordering processing to the original order.

Specifically, the column twist deinterleaver 55 performs column twistdeinterleaving by writing and reading the code bits of the LDPC code toand from a memory for deinterleaving which has a configuration similarto that of the memory 31 illustrated in, typically, FIG. 28.

However, the column twist deinterleaver 55 writes code bits to thememory for deinterleaving in its row direction by using, as a writeaddress, the read address at which a code bit has been read from thememory 31. In addition, the column twist deinterleaver 55 reads codebits from the memory for deinterleaving in its column direction byusing, as a read address, the write address at which a code bit has beenwritten to the memory 31.

The LDPC code obtained as a result of column twist deinterleaving issupplied from the column twist deinterleaver 55 to the LDPC decoder 166.

Here, if the LDPC code supplied from the QAM decoder 164 to the bitdeinterleaver 165 has been subjected to parity interleaving, columntwist interleaving, and permutation processing, the bit deinterleaver165 may perform all of the inverse operations, namely, paritydeinterleaving corresponding to parity interleaving (which is theinverse of parity interleaving operation, i.e., parity deinterleavingfor restoring the code bits of the LDPC code whose order has beenchanged through parity interleaving to the original order), inversepermutation processing corresponding to permutation processing, andcolumn twist deinterleaving corresponding to column twist interleaving.

In the bit deinterleaver 165 illustrated in FIG. 117, however, paritydeinterleaving is not performed because the bit deinterleaver 165 doesnot include a block configured to perform parity deinterleavingcorresponding to parity interleaving although it includes themultiplexer 54 that performs inverse permutation processingcorresponding to permutation processing and the column twistdeinterleaver 55 that performs column twist deinterleaving correspondingto column twist interleaving.

Accordingly, the LDPC code on which inverse permutation processing andcolumn twist deinterleaving have been performed but paritydeinterleaving has not been performed is supplied from (the column twistdeinterleaver 55 of) the bit deinterleaver 165 to the LDPC decoder 166.

The LDPC decoder 166 performs LDPC decoding on the LDPC code suppliedfrom the bit deinterleaver 165 by using a transformed parity checkmatrix obtained by performing at least column permutation correspondingto parity interleaving on the parity check matrix H that the LDPCencoder 115 illustrated in FIG. 8 has used for LDPC encoding, andoutputs the resulting data as a result of decoding the LDPC target data.

FIG. 118 is a flowchart depicting a process performed by the QAM decoder164, the bit deinterleaver 165, and the LDPC decoder 166 illustrated inFIG. 117.

In step S111, the QAM decoder 164 demaps the symbols (i.e., symbolsmapped to constellation points) supplied from the time deinterleaver 163for orthogonal demodulation, and supplies the resulting data to the bitdeinterleaver 165. Then, the process proceeds to step S112.

In step S112, the bit deinterleaver 165 performs deinterleaving (i.e.,bit deinterleaving) on the symbol bits of the symbols supplied from theQAM decoder 164. Then, the process proceeds to step S113.

More specifically, in step S112, the multiplexer 54 in the bitdeinterleaver 165 performs inverse permutation processing on the symbolbits of the symbols supplied from the QAM decoder 164, and supplies thecode bits of the resulting LDPC code to the column twist deinterleaver55.

The column twist deinterleaver 55 performs column twist deinterleavingon the LDPC code supplied from the multiplexer 54, and supplies theresulting LDPC code to the LDPC decoder 166.

In step S113, the LDPC decoder 166 performs LDPC decoding on the LDPCcode supplied from the column twist deinterleaver 55 by using the paritycheck matrix H that the LDPC encoder 115 illustrated in FIG. 8 has usedfor LDPC encoding, that is, by using a transformed parity check matrixobtained by performing at least column permutation corresponding toparity interleaving on the parity check matrix H, and outputs theresulting data to the BCH decoder 167 as a result of decoding the LDPCtarget data.

Note that, also in FIG. 117, similarly to the case illustrated in FIG.9, the multiplexer 54 that performs inverse permutation processing andthe column twist deinterleaver 55 that performs column twistdeinterleaving are configured as separate units, for convenience ofillustration. However, the multiplexer 54 and the column twistdeinterleaver 55 may be integrated into a single unit.

In addition, if the bit interleaver 116 illustrated in FIG. 9 does notperform column twist interleaving, the bit deinterleaver 165 illustratedin FIG. 117 need not be provided with the column twist deinterleaver 55.

Next, LDPC decoding performed by the LDPC decoder 166 illustrated inFIG. 116 will be described in further detail.

As described above, the LDPC decoder 166 illustrated in FIG. 116performs LDPC decoding on the LDPC code supplied from the column twistdeinterleaver 55, on which inverse permutation processing and columntwist deinterleaving have been performed but parity deinterleaving hasnot been performed, by using a transformed parity check matrix obtainedby performing at least column permutation corresponding to parityinterleaving on the parity check matrix H that the LDPC encoder 115illustrated in FIG. 8 has used for LDPC encoding.

Here, LDPC decoding may be performed using a transformed parity checkmatrix so as to keep the operating frequency within a sufficientlyfeasible range while reducing the size of circuitry. Such LDPC decodinghas been previously proposed (see, for example, Japanese Patent No.4224777).

Accordingly, first, LDPC decoding using a transformed parity checkmatrix, which has been previously proposed, will be described withreference to FIGS. 119 to 122.

FIG. 119 illustrates an example of a parity check matrix H of an LDPCcode having a code length N of 90 and a code rate of 2/3.

Note that, in FIG. 119 (also in FIGS. 120 and 121, described below), “0”is represented by a period (“.”).

In the parity check matrix H illustrated in FIG. 119, a parity matrixhas a stepwise structure.

FIG. 120 illustrates a parity check matrix H′ obtained by performing rowpermutation of Expression (11) and column permutation of Expression (12)on the parity check matrix H illustrated in FIG. 119.

Row permutation:(6s+t+1)-th row→(5t+s+1)-th row  (11)

Column permutation:(6x+y+61)-th column→(5y+x+61)-th column  (12)

Note that, in Expressions (11) and (12), s, t, x, and y are integers inthe ranges of 0≦s<5, 0≦t<6, 0≦x<5, and 0≦t<6, respectively.

The row permutation of Expression (11) allows permutation such that the1st, 7th, 13th, 19th, and 25th rows, whose numbers are divided by 6yielding a remainder of 1, are replaced with the 1st, 2nd, 3rd, 4th, and5th rows, respectively, and the 2nd, 8th, 14th, 20th, and 26th rows,whose numbers are divided by 6 yielding a remainder of 2, are replacedwith the 6th, 7th, 8th, 9th, and 10th rows, respectively.

Further, the column permutation of Expression (12) allows permutationsuch that the 61st, 67th, 73rd, 79th, and 85th columns, whose numbersare divided by 6 yielding a remainder of 1, among the columns subsequentto the 61st column (parity matrix), are replaced with the 61st, 62nd,63rd, 64th, and 65th columns, respectively, and the 62nd, 68th, 74th,80th, and 86th columns, whose numbers are divided by 6 yielding aremainder of 2, are replaced with the 66th, 67th, 68th, 69th, and 70thcolumns, respectively.

A matrix obtained by performing row and column permutations on theparity check matrix H illustrated in FIG. 119 in the way described aboveis the parity check matrix H′ illustrated in FIG. 120.

Here, the row permutation of the parity check matrix H would not affectthe order of the code bits of the LDPC code.

Furthermore, the column permutation of Expression (12) corresponds toparity interleaving that is performed to interleave the (K+qx+y+1)-thcode bit to the (K+Py+x+1)-th code bit position as described above, whenthe information length K is 60, the number of unit columns P of thecyclic structure is 5, and the divisor q (=M/P) of the parity length M(in the illustrated example, 30) is 6.

Accordingly, the parity check matrix H′ illustrated in FIG. 120 is atransformed parity check matrix obtained by performing at least columnpermutation to replace the (K+qx+y+1)-th column of the parity checkmatrix (hereinafter referred to as an “original parity check matrix” asappropriate) H illustrated in FIG. 119 with the (K+Py+x+1)-th column.

Multiplying the transformed parity check matrix H′ illustrated in FIG.120 by an LDPC code obtained by performing the same permutation as thatof Expression (12) on the LDPC code of the original parity check matrixH illustrated in FIG. 119 yields a zero vector. More specifically, if arow vector obtained by performing column permutation of Expression (12)on a row vector c as an LDPC code (i.e., a code word) of the originalparity check matrix H is represented by c′, Hc^(T) is a zero vector dueto the nature of the parity check matrix, and therefore H′c′^(T) is alsoa zero vector.

Thus, the transformed parity check matrix H′ illustrated in FIG. 120 isa parity check matrix of an LDPC code c′ obtained by performing columnpermutation of Expression (12) on the LDPC code c of the original paritycheck matrix H.

Accordingly, a similar result of decoding to that obtained by decodingthe LDPC code of the original parity check matrix H using the paritycheck matrix H may be obtained by decoding (LDPC decoding) the LDPC codec′, which is obtained by performing column permutation of Expression(12) on the LDPC code c of the original parity check matrix H, using thetransformed parity check matrix H′ illustrated in FIG. 120 and thenperforming the inverse of the column permutation of Expression (12) onthe decoded LDPC code c′.

FIG. 121 illustrates the transformed parity check matrix H′ illustratedin FIG. 120 whose elements are spaced apart from one another in units of5×5 matrices.

In FIG. 121, the transformed parity check matrix H′ is represented by acombination of 5×5 (=P×P) unit matrices, matrices each having one ormore elements of 1 in a unit matrix which are replaced by elements of 0(hereinafter referred to as “quasi-unit matrices” as appropriate),matrices produced by cyclically shifting a unit matrix or a quasi-unitmatrix (hereinafter referred to as “shift matrices” as appropriate),matrices each of which is the sum of two or more of a unit matrix, aquasi-unit matrix, and a shift matrix (hereinafter referred to as “summatrices” as appropriate), and 5×5 zero matrices.

The transformed parity check matrix H′ illustrated in FIG. 121 can besaid to be composed of 5×5 unit matrices, quasi-unit matrices, shiftmatrices, sum matrices, and zero matrices. These 5×5 matrices (unitmatrices, quasi-unit matrices, shift matrices, sum matrices, and zeromatrices) constituting the transformed parity check matrix H′ arehereinafter referred to as “component matrices” as appropriate.

An LDPC code of a parity check matrix represented by P×P componentmatrices may be decoded using an architecture that simultaneouslyperforms check node computation and variable node computation each for Pnodes.

FIG. 122 is a block diagram illustrating an example configuration of adecoding device that performs the decoding operation described above.

More specifically, FIG. 122 illustrates an example configuration of adecoding device configured to decode an LDPC code by using thetransformed parity check matrix H′ illustrated in FIG. 121, which isobtained by performing at least column permutation of Expression (12) onthe original parity check matrix H illustrated in FIG. 119.

The decoding device illustrated in FIG. 122 includes an edge datastorage memory 300 having six FIFOs 300 ₁ to 300 ₆, a selector 301 forselecting one of the FIFOs 300 ₁ to 300 ₆, a check node calculation unit302, two cyclic shift circuits 303 and 308, an edge data storage memory304 having 18 FIFOs 304 ₁ to 304 ₁₈, a selector 305 for selecting one ofthe FIFOs 304 ₁ to 304 ₁₈, a received data memory 306 for storingreceived data, a variable node calculation unit 307, a decoded wordcalculation unit 309, a received data reordering unit 310, and a decodeddata reordering unit 311.

First, a description will be made of a method for storing data in theedge data storage memories 300 and 304.

The edge data storage memory 300 includes the six FIFOs 300 ₁ to 300 ₆,the number of which is equal to a value obtained by dividing the numberof rows of the transformed parity check matrix H′ illustrated in FIG.121, i.e., 30, by the number of rows of each component matrix (i.e., thenumber of unit columns P of the cyclic structure), i.e., 5. Each of theFIFOs 300 _(y) (y=1, 2, . . . , 6) includes storage areas of multiplestages, and is configured such that messages corresponding to fiveedges, the number of which is equal to the number of rows and the numberof columns of each component matrix (i.e., the number of unit columns Pof the cyclic structure), can be simultaneously read from and written tothe storage area of each stage. In addition, the number of stages of thestorage areas of each of the FIFOs 300 _(y) is 9, which is the maximumof the numbers of 1s (Hamming weights) in the row direction of thetransformed parity check matrix illustrated in FIG. 121.

Data (i.e., messages v_(i) from variable nodes) corresponding to thepositions of 1s in the first to fifth rows of the transformed paritycheck matrix H′ illustrated in FIG. 121 is stored in the FIFO 300 ₁ insuch a manner that every row is filled with the data elements in thelateral direction (i.e., 0s are ignored). More specifically, if theelement in the j-th row and the i-th column is represented by (j,i),data corresponding to the positions of 1s in the 5×5 unit matrix of(1, 1) to (5, 5) of the transformed parity check matrix H′ is stored inthe storage area of the first stage of the FIFO 300 ₁. Datacorresponding to the positions of 1s in the shift matrix (which is ashift matrix obtained by cyclically shifting the 5×5 unit matrix to theright by three elements) of (1, 21) to (5, 25) of the transformed paritycheck matrix H′ is stored in the storage area of the second stage.Similarly, data is stored in the storage areas of the third to eighthstages in association with the transformed parity check matrix H′.Furthermore, data corresponding to the positions of 1s in the shiftmatrix (which is a shift matrix obtained by replacing 1s in the firstrow with 0s in the 5×5 unit matrix and cyclically shifting the 5×5 unitmatrix to the left by one element) of (1, 86) to (5, 90) of thetransformed parity check matrix H′ is stored in the storage area of theninth stage.

Data corresponding to the positions of 1s in the sixth to tenth rows ofthe transformed parity check matrix H′ illustrated in FIG. 121 is storedin the FIFO 300 ₂. More specifically, data corresponding to thepositions of 1s in a first shift matrix included in a sum matrix (whichis a sum matrix representing the sum of a first shift matrix obtained bycyclically shifting the 5×5 unit matrix to the right by one element anda second shift matrix obtained by cyclically shifting the 5×5 unitmatrix to the right by two elements) of (6, 1) to (10, 5) of thetransformed parity check matrix H′ is stored in the storage area of thefirst stage of the FIFO 300 ₂. Furthermore, data corresponding to thepositions of 1s in the second shift matrix included in the sum matrix of(6, 1) to (10, 5) of the transformed parity check matrix H′ is stored inthe storage area of the second stage.

More specifically, in the case of a component matrix having a weight of2 or more, when the component matrix is represented by the sum of two ormore of a P×P unit matrix having a weight of 1, a quasi-unit matrixproduced by replacing one or more elements of 1 in the unit matrix withelements of 0, and a shift matrix produced by cyclically shifting theunit matrix or the quasi-unit matrix, data corresponding to thepositions of 1s in the unit matrix having a weight of 1, the quasi-unitmatrix, or the shift matrix (i.e., messages corresponding to edgesbelonging to the unit matrix, the quasi-unit matrix, or the shiftmatrix) is stored in the same address (i.e., the same FIFO among theFIFOs 300 ₁ to 300 ₆).

Data is also stored in the storage areas of the subsequent third toninth stages in association with the transformed parity check matrix H′.

Similarly, data is stored in the FIFOs 300 ₃ to 300 ₆ in associationwith the transformed parity check matrix H′.

The edge data storage memory 304 includes 18 FIFOs 304 ₁ to 304 ₁₈, thenumber of which is equal to a value obtained by dividing the number ofcolumns of the transformed parity check matrix H′, i.e., 90, by thenumber of columns of each component matrix (i.e., the number of unitcolumns P of the cyclic structure), i.e., 5. Each of the FIFOs 304 _(x)(x=1, 2, . . . , 18) includes storage areas of multiple stages, and isconfigured such that messages corresponding to five edges, the number ofwhich is equal to the number of rows and the number of columns of eachcomponent matrix (i.e., the number of unit columns P of the cyclicstructure), can be simultaneously read from and written to the storagearea of each stage.

Data (i.e., messages u_(j) from check nodes) corresponding to thepositions of 1s in the first to fifth columns of the transformed paritycheck matrix H′ illustrated in FIG. 121 is stored in the FIFO 304 ₁ insuch a manner that every column is filled with the data elements in thelongitudinal direction (i.e., 0s are ignored). Specifically, datacorresponding to the positions of 1s in the 5×5 unit matrix of (1, 1) to(5, 5) of the transformed parity check matrix H′ is stored in thestorage area of the first stage of the FIFO 304 ₁. Data corresponding tothe positions of 1s in a first shift matrix included in a sum matrix(which is a sum matrix representing the sum of a first shift matrixobtained by cyclically shifting the 5×5 unit matrix to the right by oneelement and a second shift matrix obtained by cyclically shifting the5×5 unit matrix to the right by two elements) of (6, 1) to (10, 5) ofthe transformed parity check matrix H′ is stored in the storage area ofthe second stage. Furthermore, data corresponding to the positions of isin the second shift matrix included in the sum matrix of (6, 1) to (10,5) of the transformed parity check matrix H′ is stored in the storagearea of the third stage.

More specifically, in the case of a component matrix having a weight of2 or more, when the component matrix is represented by the sum of two ormore of a P×P unit matrix having a weight of 1, a quasi-unit matrixproduced by replacing one or more elements of 1 in the unit matrix withelements of 0, and a shift matrix produced by cyclically shifting theunit matrix or the quasi-unit matrix, data corresponding to thepositions of 1s in the unit matrix having a weight of 1, the quasi-unitmatrix, or the shift matrix (i.e., messages corresponding to edgesbelonging to the unit matrix, the quasi-unit matrix, or the shiftmatrix) is stored in the same address (i.e., the same FIFO among theFIFOs 304 ₁ to 304 ₁₈).

Data is also stored in the storage areas of the subsequent fourth andfifth stages in association with the transformed parity check matrix H′.The number of stages of storage areas of the FIFO 304 ₁ is 5, which isthe maximum of the numbers of 1s (Hamming weights) in the row directionin the first to fifth columns of the transformed parity check matrix H′.

Similarly, data is also stored in the FIFOs 304 ₂ and 304 ₃ inassociation with the transformed parity check matrix H′, with therespective lengths (the numbers of stages) being 5. Data is also storedin the FIFOs 304 ₄ to 304 ₁₂ in association with the transformed paritycheck matrix H′, with the respective lengths being 3. Data is alsostored in the FIFOs 304 ₁₃ to 304 ₁₈ in association with the transformedparity check matrix H′, with the respective lengths being 2.

A description will now be made of the operation of the decoding deviceillustrated in FIG. 122.

The edge data storage memory 300, which includes the six FIFOs 300 ₁ to300 ₆, selects a FIFO to store data from among the FIFOs 300 ₁ to 300 ₆in accordance with information (matrix data) D312 indicating which rowin the transformed parity check matrix H′ illustrated in FIG. 121 fivemessages D311 supplied from the cyclic shift circuit 308 locatedupstream of the edge data storage memory 300 belong to, and collectivelystores the five messages D311 in the selected FIFO in order. Further,when reading data, the edge data storage memory 300 reads five messagesD300 ₁ in order from the FIFO 300 ₁, and supplies the read messages D300₁ to the selector 301 located downstream of the edge data storage memory300. After the reading of messages from the FIFO 300 ₁ is completed, theedge data storage memory 300 also reads messages in order from the FIFOs300 ₂ to 300 ₆, and supplies the read messages to the selector 301.

The selector 301 selects five messages received from a FIFO from whichdata is currently being read among the FIFOs 300 ₁ to 300 ₆ inaccordance with a selection signal D301, and supplies the selectedmessages as messages D302 to the check node calculation unit 302.

The check node calculation unit 302 includes five check node calculators302 ₁ to 302 ₅, and performs check node computation in accordance withExpression (7) using the messages D302 (D302 ₁ to D302 ₅) (correspondingto messages v_(i) in Expression (7)) supplied through the selector 301.The check node calculation unit 302 supplies five messages D303 (D303 ₁to D303 ₅) (corresponding to messages u_(j) in Expression (7)) obtainedas a result of the check node computation to the cyclic shift circuit303.

The cyclic shift circuit 303 cyclically shifts the five messages D303 ₁to D303 ₅ determined by the check node calculation unit 302 on the basisof information (matrix data) D305 indicating the number of original unitmatrices (or quasi-unit matrices) which have been cyclically shifted inthe transformed parity check matrix H′ to obtain the corresponding edge,and supplies results to the edge data storage memory 304 as messagesD304.

The edge data storage memory 304, which includes the 18 FIFOs 304 ₁ to304 ₁₈, selects an FIFO to store data from among the FIFOs 304 ₁ to 304₁₈ in accordance with information D305 indicating which row in thetransformed parity check matrix H′ the five messages D304 supplied fromthe cyclic shift circuit 303 located upstream of the edge data storagememory 304 belong to, and collectively stores the five messages D304 inthe selected FIFO in order. Further, when reading data, the edge datastorage memory 304 reads five messages D306 ₁ in order from the FIFO 304₁, and supplies the read messages D306 ₁ to the selector 305 locateddownstream of the edge data storage memory 304. After the reading ofdata from the FIFO 304 ₁ is completed, the edge data storage memory 304also reads messages in order from the FIFOs 304 ₂ to 304 ₁₈, andsupplies the read messages to the selector 305.

The selector 305 selects five messages from a FIFO from which data iscurrently being read among the FIFOs 304 ₁ to 304 ₁₈ in accordance witha selection signal D307, and supplies the selected messages as messagesD308 to the variable node calculation unit 307 and the decoded wordcalculation unit 309.

On the other hand, the received data reordering unit 310 reorders anLDPC code D313 corresponding to the parity check matrix H illustrated inFIG. 119, which has been received through the communication path 13, byperforming column permutation of Expression (12), and supplies theresulting data as received data D314 to the received data memory 306.The received data memory 306 calculates reception LLRs (log-likelihoodratios) from the received data D314 supplied from the received datareordering unit 310, and stores the reception LLRs. The received datareordering unit 310 further collectively supplies the reception LLRs inunits of five reception LLRs as reception values D309 to the variablenode calculation unit 307 and the decoded word calculation unit 309.

The variable node calculation unit 307 includes five variable nodecalculators 307 ₁ to 307 ₅, and performs variable node computation inaccordance with Expression (1) using the messages D308 (D308 ₁ to D308₅) (i.e., messages u_(j) in Expression (1)) supplied through theselector 305 and the five reception values D309 (reception values u_(0i)in Expression (1)) supplied from the received data memory 306. Thevariable node calculation unit 307 supplies messages D310 (D310 ₁ toD310 ₅) (i.e., messages v_(i) in Expression (1)) obtained as a result ofthe computation to the cyclic shift circuit 308.

The cyclic shift circuit 308 cyclically shifts the messages D310 ₁ toD310 ₅ calculated by the variable node calculation unit 307 on the basisof information indicating the number of original unit matrices (orquasi-unit matrices) which have been cyclically shifted in thetransformed parity check matrix H′ to obtain the corresponding edge, andsupplies results to the edge data storage memory 300 as messages D311.

The series of operations described above can be performed once toperform single decoding of an LDPC code (variable node computation andcheck node computation). After decoding an LDPC code a certain number oftimes, the decoding device illustrated in FIG. 122 determines andoutputs final decoded data through the decoded word calculation unit 309and the decoded data reordering unit 311.

More specifically, the decoded word calculation unit 309 includes fivedecoded word calculators 309 ₁ to 309 ₅, and serves as a final stage ofa plurality of decoding operations to calculate decoded data (i.e., adecoded word) in accordance with Expression (5) using the five messagesD308 (D308 ₁ to D308 ₅) (i.e., messages u in Expression (5)) output fromthe selector 305 and the five reception values D309 (i.e., receptionvalues u_(0i) in Expression (5)) supplied from the received data memory306. The decoded word calculation unit 309 supplies decoded data D315obtained as a result of the calculation to the decoded data reorderingunit 311.

The decoded data reordering unit 311 changes the order of the decodeddata D315 supplied from the decoded word calculation unit 309 byperforming the inverse of the column permutation of Expression (12), andoutputs the resulting data as final decoded data D316.

As described above, one or both of the row permutation and the columnpermutation are performed on the parity check matrix (i.e., the originalparity check matrix) to convert the parity check matrix into a paritycheck matrix (i.e., a transformed parity check matrix) that can berepresented by a combination of component matrices, namely, a P×P unitmatrix, a quasi-unit matrix produced by replacing one or more elementsof 1 with elements of 0, a shift matrix produced by cyclically shiftingthe unit matrix or the quasi-unit matrix, a sum matrix representing thesum of two or more of the unit matrix, the quasi-unit matrix, and theshift matrix, and a P×P zero matrix. This allows decoding of an LDPCcode by using an architecture that simultaneously performs check nodecomputation and variable node computation each for P nodes, where P isless than the number of rows or the number of columns of the paritycheck matrix. The use of an architecture that simultaneously performsnode computation (computation of check nodes and computation of variablenodes) for P nodes, where P is less than the number of rows or thenumber of columns of a parity check matrix, makes it possible to performmultiple repetitive decoding while keeping the operating frequencywithin a feasible range, compared to the case where node computation issimultaneously performed for nodes, the number of which is equal to thenumber of rows or the number of columns of a parity check matrix.

Similarly to the decoding device illustrated in FIG. 122, the LDPCdecoder 166 included in the receiving device 12 illustrated in FIG. 116is configured to perform LDPC decoding by, for example, simultaneouslyperforming check node computation and variable node computation each forP nodes.

More specifically, it is assumed now that, for ease of description, theparity check matrix of the LDPC code output from the LDPC encoder 115included in the transmitting device 11 illustrated in FIG. 8 is, forexample, the parity check matrix H illustrated in FIG. 119 in which aparity matrix has a stepwise structure. In this case, the parityinterleaver 23 of the transmitting device 11 performs parityinterleaving to interleave the (K+qx+y+1)-th code bit to the(K+Py+x+1)-th code bit position with the information length K being 60,the number of unit columns P of the cyclic structure being 5, and thedivisor q (=M/P) of the parity length M being 6.

As described above, this parity interleaving operation corresponds tothe column permutation of Expression (12). Thus, it is not necessary forthe LDPC decoder 166 to perform the column permutation of Expression(12).

In the receiving device 12 illustrated in FIG. 116, therefore, asdescribed above, an LDPC code on which parity deinterleaving has notbeen performed, that is, an LDPC code on which the column permutation ofExpression (12) has been performed, is supplied from the column twistdeinterleaver 55 to the LDPC decoder 166. The LDPC decoder 166 performsprocessing similar to that of the decoding device illustrated in FIG.122, except that the column permutation of Expression (12) is notperformed.

More specifically, FIG. 123 illustrates an example configuration of theLDPC decoder 166 illustrated in FIG. 116.

In FIG. 123, the LDPC decoder 166 has a configuration similar to thedecoding device illustrated in FIG. 122, except that the received datareordering unit 310 illustrated in FIG. 122 is not included, andperforms processing similar to that of the decoding device illustratedin FIG. 122, except that the column permutation of Expression (12) isnot performed, which is not described herein.

As described above, the LDPC decoder 166 may be configured withoutincluding the received data reordering unit 310, and can be smaller insize than the decoding device illustrated in FIG. 122.

Note that, in FIGS. 119 to 123, for ease of illustration, the codelength N of an LDPC code is 90, the information length K is 60, thenumber of unit columns P of the cyclic structure (i.e., the number ofrows and the number of columns of a component matrix) is 5, and thedivisor q (=M/P) of the parity length M is 6. However, the code lengthN, the information length K, the number of unit columns P of the cyclicstructure, and the divisor q (=M/P) are not limited to the valuesdescribed above.

More specifically, the LDPC encoder 115 in the transmitting device 11illustrated in FIG. 8 outputs an LDPC code with, for example, the codelength N being 64800, 16200, or the like, the information length K beinggiven by N−Pq (=N−M), the number of unit columns P of the cyclicstructure being 360, and the divisor q being given by M/P. The LDPCdecoder 166 illustrated in FIG. 123 may be used to perform LDPC decodingon the LDPC code described above by simultaneously performing check nodecomputation and variable node computation each for P nodes.

FIG. 124 includes diagrams depicting the processing of the multiplexer54 included in the bit deinterleaver 165 illustrated in FIG. 117.

More specifically, part A of FIG. 124 illustrates an example functionalconfiguration of the multiplexer 54.

The multiplexer 54 includes an inverse permutation unit 1001 and amemory 1002.

The multiplexer 54 performs inverse permutation processing (which is theinverse of permutation processing), corresponding to the permutationprocessing performed by the demultiplexer 25 of the transmitting device11, on the symbol bits of the symbols supplied from the QAM decoder 164located upstream of the multiplexer 54. That is, the multiplexer 54performs inverse permutation processing to restore the positions of thecode bits (symbol bits) of the LDPC code that have been permuted throughthe permutation processing to the original positions, and supplies theresulting LDPC code to the column twist deinterleaver 55 locateddownstream of the multiplexer 54.

More specifically, mb symbol bits y₀, y₁, . . . , y_(mb-1) of b symbolsare supplied to the inverse permutation unit 1001 in the multiplexer 54in units of (consecutive) b symbols.

The inverse permutation unit 1001 performs inverse permutation torestore the mb symbol bits y₀ to y_(mb-1) to the order of the mboriginal code bits b₀, b₁, . . . , b_(mb-1) (i.e., the order of the codebits b₀ to b_(mb-1) before the permutation unit 32 included in thedemultiplexer 25 on the transmitting device 11 side performspermutation), and outputs the resulting mb code bits b₀ to b_(mb-1).

Similarly to the memory 31 included in the demultiplexer 25 on thetransmitting device 11 side, the memory 1002 has a storage capacity tostore mb bits in its row (horizontal) direction and N/(mb) bits in itscolumn (vertical) direction. In other words, the memory 1002 includes mbcolumns for storing N/(mb) bits.

Note that code bits of the LDPC code output from the inverse permutationunit 1001 are written to the memory 1002 in the direction in which acode bit is read from the memory 31 in the demultiplexer 25 of thetransmitting device 11, and the code bits written in the memory 1002 areread from the memory 1002 in the direction in which a code bit iswritten to the memory 31.

Accordingly, as illustrated in part A of FIG. 124, the multiplexer 54 ofthe receiving device 12 writes code bits of the LDPC code output fromthe inverse permutation unit 1001 in the row direction in units of mbbits, where the writing operation moves from the top to the bottom ofthe memory 1002, starting from the first row.

Further, when the writing of code bits corresponding to one code lengthis completed, the multiplexer 54 reads the code bits from the memory1002 in the column direction, and supplies the read code bits to thecolumn twist deinterleaver 55 located downstream of the multiplexer 54.

Here, part B of FIG. 124 is a diagram illustrating the reading of codebits from the memory 1002.

The multiplexer 54 reads code bits of the LDPC code (in the columndirection) from the top to the bottom of each of the columns of thememory 1002, where the reading operation moves toward the right,starting from the leftmost column.

FIG. 125 is a diagram depicting the processing of the column twistdeinterleaver 55 included in the bit deinterleaver 165 illustrated inFIG. 117.

More specifically, FIG. 125 illustrates an example configuration of thememory 1002 of the multiplexer 54.

The memory 1002 has a storage capacity to store mb bits in its column(vertical) direction and N/(mb) bits in its row (horizontal) direction,and includes mb columns.

The column twist deinterleaver 55 performs column twist deinterleavingby controlling a read start position when code bits of the LDPC code arewritten to the memory 1002 in the row direction and are read from thememory 1002 in the column direction.

More specifically, the column twist deinterleaver 55 performs inversereordering processing to restore the code bits whose order has beenchanged through column twist interleaving to the original order, bychanging the read start position with which the reading of a code bit isstarted, as desired, for each of a plurality of columns.

Here, FIG. 125 illustrates an example configuration of the memory 1002in a case where, as described with reference to FIG. 28, the modulationscheme is 16APSK, 16QAM, or the like and the multiple b is 1. In thiscase, the number of bits m of one symbol is 4, and the memory 1002includes 4 (=mb) columns.

Instead of the multiplexer 54, the column twist deinterleaver 55 writescode bits of the LDPC code output from the inverse permutation unit 1001in the row direction, where the writing operation moves downwardsequentially from the first row of the memory 1002.

Further, when the writing of code bits corresponding to one code lengthis completed, the column twist deinterleaver 55 reads the code bits fromthe memory 1002 (in the column direction) from the top to the bottom,where the reading operation moves toward the right, starting from theleftmost column.

Note that the column twist deinterleaver 55 reads code bits from thememory 1002, using, as a read start position of the code bit, the writestart position from which the column twist interleaver 24 on thetransmitting device 11 side writes a code bit.

More specifically, if the address of the position of the first (or top)of each column is represented by 0 and the addresses of the respectivepositions in the column direction are represented by integers arrangedin ascending order, the column twist deinterleaver 55 sets the readstart position for the leftmost column to the position at the address 0,the read start position for the second column (from the left) to theposition at the address 2, the read start position for the third columnto the position at the address 4, and the read start position for thefourth column to the position at the address 7 in a case where themodulation scheme is 16APSK or 16QAM and the multiple b is 1.

Note that, after reading code bits up to the bottom of the column forwhich the read start position is set to a position other than theposition at the address 0, the column twist deinterleaver 55 returns tothe first position (i.e., the position at the address 0), and reads codebits up to the position immediately before the read start position. Thecolumn twist deinterleaver 55 then performs reading from the subsequent(right) column.

The column twist deinterleaving operation described above allows theorder of code bits that have been reordered through column twistinterleaving to return to the original order.

FIG. 126 is a block diagram illustrating another example configurationof the bit deinterleaver 165 illustrated in FIG. 116.

Note that, in FIG. 126, portions corresponding to those illustrated inFIG. 117 are assigned the same reference numerals, and a descriptionthereof will be omitted hereinafter, as appropriate.

More specifically, the bit deinterleaver 165 illustrated in FIG. 126 hasa configuration similar to that illustrated in FIG. 117, except that aparity deinterleaver 1011 is further included.

In FIG. 126, the bit deinterleaver 165 includes a multiplexer (MUX) 54,a column twist deinterleaver 55, and a parity deinterleaver 1011, andperforms bit deinterleaving on code bits of the LDPC code supplied fromthe QAM decoder 164.

More specifically, the multiplexer 54 performs inverse permutationprocessing (which is the inverse of permutation processing),corresponding to the permutation processing performed by thedemultiplexer 25 of the transmitting device 11, on the LDPC codesupplied from the QAM decoder 164. That is, the multiplexer 54 performsinverse permutation processing to restore the positions of the code bitspermuted through permutation processing to the original positions, andsupplies the resulting LDPC code to the column twist deinterleaver 55.

The column twist deinterleaver 55 performs column twist deinterleaving,corresponding to column twist interleaving as the reordering processingperformed by the column twist interleaver 24 of the transmitting device11, on the LDPC code supplied from the multiplexer 54.

The LDPC code obtained as a result of column twist deinterleaving issupplied from the column twist deinterleaver 55 to the paritydeinterleaver 1011.

The parity deinterleaver 1011 performs parity deinterleaving (which isthe inverse of parity interleaving operation), corresponding to parityinterleaving performed by the parity interleaver 23 of the transmittingdevice 11, on the code bits on which column twist deinterleaving hasbeen performed by the column twist deinterleaver 55. That is, the paritydeinterleaver 1011 performs parity deinterleaving to restore the codebits of the LDPC code whose order has been changed through parityinterleaving to the original order.

The LDPC code obtained as a result of parity deinterleaving is suppliedfrom the parity deinterleaver 1011 to the LDPC decoder 166.

Accordingly, the bit deinterleaver 165 illustrated in FIG. 126 suppliesan LDPC code on which inverse permutation processing, column twistdeinterleaving, and parity deinterleaving have been performed, i.e., anLDPC code obtained through LDPC encoding in accordance with the paritycheck matrix H, to the LDPC decoder 166.

The LDPC decoder 166 performs LDPC decoding on the LDPC code suppliedfrom the bit deinterleaver 165 by using the parity check matrix H thatthe LDPC encoder 115 of the transmitting device 11 has used for LDPCencoding. More specifically, the LDPC decoder 166 performs LDPC decodingon the LDPC code supplied from the bit deinterleaver 165 by using theparity check matrix H that the LDPC encoder 115 of the transmittingdevice 11 has used for LDPC encoding, or by using a transformed paritycheck matrix obtained by performing at least column permutation,corresponding to parity interleaving, on the parity check matrix H.

Here, in FIG. 126, an LDPC code obtained through LDPC encoding inaccordance with the parity check matrix H is supplied from (the paritydeinterleaver 1011 of) the bit deinterleaver 165 to the LDPC decoder166. Accordingly, in a case where the LDPC decoding of the LDPC code isperformed using the parity check matrix H that the LDPC encoder 115 ofthe transmitting device 11 has used for LDPC encoding, the LDPC decoder166 may be implemented as, for example, a decoding device configured toperform LDPC decoding using a full serial decoding method forsequentially performing computation of messages (i.e., check nodemessages and variable node messages) on a node-by-node basis, or adecoding device configured to perform LDPC decoding using a fullparallel decoding method for simultaneously (or in parallel) performingcomputation of messages for all the nodes.

Furthermore, in a case where the LDPC decoder 166 performs LDPC decodingon an LDPC code using a transformed parity check matrix obtained byperforming at least column permutation, corresponding to parityinterleaving, on the parity check matrix H that the LDPC encoder 115 ofthe transmitting device 11 has used for LDPC encoding, the LDPC decoder166 may be implemented as a decoding device having an architecture thatsimultaneously performs check node computation and variable nodecomputation each for P (or a divisor of P other than 1) nodes, which isthe decoding device (FIG. 122) including the received data reorderingunit 310 configured to perform column permutation similar to columnpermutation for obtaining a transformed parity check matrix on an LDPCcode to reorder the code bits of the LDPC code.

Note that, in FIG. 126, the multiplexer 54 that performs inversepermutation processing, the column twist deinterleaver 55 that performscolumn twist deinterleaving, and the parity deinterleaver 1011 thatperforms parity deinterleaving are configured as separate units, forconvenience of illustration. However, two or more of the multiplexer 54,the column twist deinterleaver 55, and the parity deinterleaver 1011 maybe integrated into a single unit, similarly to the parity interleaver23, the column twist interleaver 24, and the demultiplexer 25 of thetransmitting device 11.

In addition, if the bit interleaver 116 (FIG. 8) of the transmittingdevice 11 is configured without including the parity interleaver 23 orthe column twist interleaver 24, the bit deinterleaver 165 illustratedin FIG. 126 may be configured without including the column twistdeinterleaver 55 or the parity deinterleaver 1011.

Also in this case, the LDPC decoder 166 may be implemented as a decodingdevice of the full serial decoding type that performs LDPC decodingusing the parity check matrix H itself, a decoding device of the fullparallel decoding type that performs LDPC decoding using the paritycheck matrix H itself, or the decoding device (FIG. 122) including thereceived data reordering unit 310 configured to perform LDPC decoding bysimultaneously performing check node computation and variable nodecomputation each for P nodes using a transformed parity check matrix H′.

[Example Configuration of Receiving System]

FIG. 127 is a block diagram illustrating a first example configurationof a receiving system to which the receiving device 12 is applicable.

In FIG. 127, the receiving system includes an acquisition unit 1101, atransmission path decoding processing unit 1102, and an informationsource decoding processing unit 1103.

The acquisition unit 1101 acquires a signal including an LDPC codeobtained by performing at least LDPC encoding on LDPC target data suchas image data and audio data of a program via a transmission path (orcommunication path) (not illustrated) such as terrestrial digitalbroadcasting, satellite digital broadcasting, a CATV network, theInternet, or any other suitable network, and supplies the signal to thetransmission path decoding processing unit 1102.

Here, in a case where the acquisition unit 1101 acquires a signalbroadcasted from, for example, a broadcast station via terrestrial,satellite, CATV (Cable Television), or any other network, theacquisition unit 1101 may be implemented as a tuner, an STB (Set TopBox), or the like. Further, in a case where the acquisition unit 1101acquires a signal transmitted using, for example, multicast technologylike IPTV (Internet Protocol Television) from a web server, theacquisition unit 1101 may be implemented as a network I/F (Interface)such as a NIC (Network Interface Card).

The transmission path decoding processing unit 1102 corresponds to thereceiving device 12. The transmission path decoding processing unit 1102performs a transmission path decoding process, including at leastprocessing for correcting errors caused in a transmission path, on thesignal acquired by the acquisition unit 1101 via a transmission path,and supplies the resulting signal to the information source decodingprocessing unit 1103.

More specifically, the signal acquired by the acquisition unit 1101 viaa transmission path is a signal obtained by performing at least errorcorrecting encoding to correct errors caused in a transmission path. Thetransmission path decoding processing unit 1102 performs a transmissionpath decoding process such as an error correction process on theabove-described signal.

Here, examples of the error correcting encoding include LDPC encodingand BCH encoding. Here, at least LDPC encoding is performed as errorcorrecting encoding.

Furthermore, the transmission path decoding process may include, forexample, demodulation of modulation signals.

The information source decoding processing unit 1103 performs aninformation source decoding process, including at least processing forexpanding compressed information into original information, on thesignal on which the transmission path decoding process has beenperformed.

More specifically, the signal acquired by the acquisition unit 1101 viaa transmission path may have been subjected to compression encoding forcompressing information in order to reduce the amount of data such asimage data and audio data as information. In this case, the informationsource decoding processing unit 1103 performs an information sourcedecoding process, such as processing for expanding compressedinformation into original information (i.e., expansion processing), onthe signal on which the transmission path decoding process has beenperformed.

Note that, if the signal acquired by the acquisition unit 1101 via atransmission path has not been subjected to compression encoding, theinformation source decoding processing unit 1103 does not performprocessing for expanding compressed information into originalinformation.

Here, examples of the expansion processing include MPEG decoding.Furthermore, the transmission path decoding process may includedescrambling and so forth in addition to expansion processing.

In the receiving system having the configuration described above, theacquisition unit 1101 acquires a signal obtained by performingcompression encoding such as MPEG encoding and error correcting encodingsuch as LDPC encoding on data such as image data and audio data, via atransmission path, and supplies the acquired signal to the transmissionpath decoding processing unit 1102.

The transmission path decoding processing unit 1102 performs atransmission path decoding process, for example, processing similar tothat performed by the receiving device 12, on the signal supplied fromthe acquisition unit 1101, and supplies the resulting signal to theinformation source decoding processing unit 1103.

The information source decoding processing unit 1103 performs aninformation source decoding process such as MPEG decoding on the signalsupplied from the transmission path decoding processing unit 1102, andoutputs the resulting images or audio.

The receiving system illustrated in FIG. 127 as described above may beapplied to, for example, a television tuner or the like that receivestelevision broadcasting as digital broadcasting.

Note that the acquisition unit 1101, the transmission path decodingprocessing unit 1102, and the information source decoding processingunit 1103 may be constructed as single independent devices (hardware(such as ICs (Integrated Circuits)) or software modules).

In addition, the acquisition unit 1101, the transmission path decodingprocessing unit 1102, and the information source decoding processingunit 1103 may be configured such that the combination of the acquisitionunit 1101 and the transmission path decoding processing unit 1102, thecombination of the transmission path decoding processing unit 1102 andthe information source decoding processing unit 1103, or the combinationof the acquisition unit 1101, the transmission path decoding processingunit 1102, and the information source decoding processing unit 1103 isconstructed as a single independent device.

FIG. 128 is a block diagram illustrating a second example configurationof the receiving system to which the receiving device 12 is applicable.

Note that, in FIG. 128, portions corresponding to those illustrated inFIG. 127 are assigned the same reference numerals, and a descriptionthereof will be omitted hereinafter, as appropriate.

The receiving system illustrated in FIG. 128 is common to thatillustrated in FIG. 127 in that the acquisition unit 1101, thetransmission path decoding processing unit 1102, and the informationsource decoding processing unit 1103 are included, and is different fromthat illustrated in FIG. 127 in that an output unit 1111 is furtherincluded.

The output unit 1111 may be, for example, a display device configured todisplay an image or a speaker configured to output audio, and outputsimages, audio, or the like as signals output from the information sourcedecoding processing unit 1103. In other words, the output unit 1111displays images or outputs audio.

The receiving system illustrated in FIG. 128 as described above may beapplied to, for example, a TV set (television receiver) that receivestelevision broadcasting as digital broadcasting or a radio receiver thatreceives radio broadcasting.

Note that, if the signal acquired by the acquisition unit 1101 has notbeen subjected to compression encoding, a signal output from thetransmission path decoding processing unit 1102 is supplied to theoutput unit 1111.

FIG. 129 is a block diagram illustrating a third example configurationof the receiving system to which the receiving device 12 is applicable.

Note that, in FIG. 129, portions corresponding to those illustrated inFIG. 127 are assigned the same reference numerals, and a descriptionthereof will be omitted hereinafter, as appropriate.

The receiving system illustrated in FIG. 129 is common to thatillustrated in FIG. 127 in that the acquisition unit 1101 and thetransmission path decoding processing unit 1102 are included.

However, the receiving system illustrated in FIG. 129 is different fromthat illustrated in FIG. 127 in that the information source decodingprocessing unit 1103 is not included and a recording unit 1121 isfurther included.

The recording unit 1121 records (or stores) the signal (e.g., TS packetsof an MPEG TS stream) output from the transmission path decodingprocessing unit 1102 on (or in) a recording (or storage) medium such asan optical disk, a hard disk (magnetic disk), or a flash memory.

The receiving system illustrated in FIG. 129 as described above may beapplied to, for example, a recorder that records televisionbroadcasting.

Note that, in FIG. 129, the receiving system may include the informationsource decoding processing unit 1103, and the recording unit 1121 iscapable of recording a signal that has been subjected to an informationsource decoding process by the information source decoding processingunit 1103, that is, an image or audio obtained by decoding.

[Embodiment of Computer]

Next, the series of processes described above may be performed byhardware or software. If the series of processes is performed bysoftware, a program constituting the software is installed into ageneral-purpose computer or the like.

Thus, FIG. 130 illustrates an example configuration of an embodiment ofa computer into which a program for executing the series of processesdescribed above is installed.

The program may be recorded in advance on a hard disk 705 or a ROM 703serving as a recording medium incorporated in the computer.

Alternatively, the program may be temporarily or persistently stored in(or recorded on) a removable recording medium 711 such as a flexibledisc, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical)disc, a DVD (Digital Versatile Disc), a magnetic disk, or asemiconductor memory. The removable recording medium 711 may be providedas packaged software.

The program may be installed into the computer from the removablerecording medium 711 described above, or may be wirelessly transferredto the computer from a download site via an artificial satellite fordigital satellite broadcasting or transferred to the computer via anetwork such as a LAN (Local Area Network) or the Internet by wiredconnection. In the computer, the program transferred in the waydescribed above may be received by a communication unit 708, andinstalled into the hard disk 705 incorporated in the computer.

The computer has a CPU (Central Processing Unit) 702 incorporatedtherein. An input/output interface 710 is connected to the CPU 702 via abus 701. When an instruction is input by a user by, for example,operating an input unit 707 including a keyboard, a mouse, a microphone,and so forth via the input/output interface 710, the CPU 702 executes aprogram stored in the ROM (Read Only Memory) 703 in accordance with theinstruction. Alternatively, the CPU 702 loads a program stored in thehard disk 705, a program transferred from a satellite or a network,received by the communication unit 708, and installed into the hard disk705, or a program read from the removable recording medium 711 set in adrive 709 and installed into the hard disk 705 into a RAM (Random AccessMemory) 704, and executes the loaded program. Accordingly, the CPU 702performs processing according to the flowcharts described above orprocessing performed with the configurations in the block diagramsdescribed above. Then, the CPU 702 outputs a result of the processing,if necessary, for example, from an output unit 706 including an LCD(Liquid Crystal Display), a speaker, and so forth via the input/outputinterface 710, transmits the result from the communication unit 708, orrecords the result on the hard disk 705.

It should be noted herein that processing steps describing a program forcausing a computer to perform various kinds of processing may notnecessarily be processed in a time-series manner in accordance with theorder described herein in the flowcharts, and may also include processesexecuted in parallel or individually (for example, parallel processingor object-based processing).

In addition, a program may be processed by a single computer, or may beprocessed by a plurality of computers in a distributed manner.Furthermore, a program may also be transferred to and executed by aremote computer.

Note that embodiments of the present technology are not limited to theembodiments described above, and a variety of changes can be madewithout departing from the scope of the present technology.

More specifically, for example, the (parity check matrix initial valuetables of) new LDPC codes described above may be used regardless ofwhether the communication path 13 (FIG. 7) is a satellite link, aterrestrial link, a cable (wired line), or any other unit. In addition,the new LDPC codes may also be used for data transmission other thandigital broadcasting.

REFERENCE SIGNS LIST

11 transmitting device, 12 receiving device, 23 parity interleaver, 24column twist interleaver, 25 demultiplexer, 31 memory, 32 permutationunit, 54 multiplexer, 55 column twist interleaver, 111 modeadaptation/multiplexer, 112 padder, 113 BB scrambler, 114 BCH encoder,115 LDPC encoder, 116 bit interleaver, 117 QAM encoder, 118 timeinterleaver, 119 MISO/MIMO encoder, 120 frequency interleaver, 121 BCHencoder, 122 LDPC encoder, 123 QAM encoder, 124 frequency interleaver,131 frame builder & resource allocation unit, 132 OFDM generation unit,151 OFDM processing unit, 152 frame management unit, 153 frequencydeinterleaver, 154 QAM decoder, 155 LDPC decoder, 156 BCH decoder, 161frequency deinterleaver, 162 MISO/MIMO decoder, 163 time deinterleaver,164 QAM decoder, 165 bit deinterleaver, 166 LDPC decoder, 167 BCHdecoder, 168 BB descrambler, 169 null deletion unit, 170 demultiplexer,300 edge data storage memory, 301 selector, 302 check node calculationunit, 303 cyclic shift circuit, 304 edge data storage memory, 305selector, 306 received data memory, 307 variable node calculation unit,308 cyclic shift circuit, 309 decoded word calculation unit, 310received data reordering unit, 311 decoded data reordering unit, 601encoding processing unit, 602 storage unit, 611 code rate setting unit,612 initial value table read unit, 613 parity check matrix generationunit, 614 information bit read unit, 615 encoding parity computationunit, 616 control unit, 701 bus, 702 CPU, 703 ROM, 704 RAM, 705 harddisk, 706 output unit, 707 input unit, 708 communication unit, 709drive, 710 input/output interface, 711 removable recording medium, 1001inverse permutation unit, 1002 memory, 1011 parity deinterleaver, 1101acquisition unit, 1101 transmission path decoding processing unit, 1103information source decoding processing unit, 1111 output unit, 1121recording unit

1-42. (canceled)
 43. A data processing apparatus comprising: an encodingunit configured to encode information bits into an LDPC (Low DensityParity Check) code having a code length of 64800 bits and a code rate of26/30 on the basis of a parity check matrix of the LDPC code, whereinthe LDPC code includes information bits and parity bits, the paritycheck matrix includes an information matrix portion corresponding to theinformation bits and a parity matrix portion corresponding to the paritybits, the information matrix portion is represented by a parity checkmatrix initial value table, and the parity check matrix initial valuetable is a table showing positions of elements of 1 in the informationmatrix portion in units of 360 columns, including 142 2307 2598 26504028 4434 5781 5881 6016 6323 6681 6698 8125 2932 4928 5248 5256 59836773 6828 7789 8426 8494 8534 8539 8583 899 3295 3833 5399 6820 74007753 7890 8109 8451 8529 8564 8602 21 3060 4720 5429 5636 5927 6966 81108170 8247 8355 8365 8616 20 1745 2838 3799 4380 4418 4646 5059 7343 81618302 8456 8631 9 6274 6725 6792 7195 7333 8027 8186 8209 8273 8442 85488632 494 1365 2405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625 192574 1179 4387 4695 5089 5831 7673 7789 8298 8301 8612 8632 11 20 14066111 6176 6256 6708 6834 7828 8232 8457 8495 8602 6 2654 3554 4483 49665866 6795 8069 8249 8301 8497 8509 8623 21 1144 2355 3124 6773 6805 68877742 7994 8358 8374 8580 8611 335 4473 4883 5528 6096 7543 7586 79218197 8319 8394 8489 8636 2919 4331 4419 4735 6366 6393 6844 7193 81658205 8544 8586 8617 12 19 742 930 3009 4330 6213 6224 7292 7430 77927922 8137 710 1439 1588 2434 3516 5239 6248 6827 8230 8448 8515 85818619 200 1075 1868 5581 7349 7642 7698 8037 8201 8210 8320 8391 8526 32501 4252 5256 5292 5567 6136 6321 6430 6486 7571 8521 8636 3062 45995885 6529 6616 7314 7319 7567 8024 8153 8302 8372 8598 105 381 1574 43515452 5603 5943 7467 7788 7933 8362 8513 8587 787 1857 3386 3659 65507131 7965 8015 8040 8312 8484 8525 8537 15 1118 4226 5197 5575 5761 67627038 8260 8338 8444 8512 8568 36 5216 5368 5616 6029 6591 8038 8067 82998351 8565 8578 8585 1 23 4300 4530 5426 5532 5817 6967 7124 7979 80228270 8437 629 2133 4828 5475 5875 5890 7194 8042 8345 8385 8518 85988612 11 1065 3782 4237 4993 7104 7863 7904 8104 8228 8321 8383 8565 21312274 3168 3215 3220 5597 6347 7812 8238 8354 8527 8557 8614 5600 65917491 7696 1766 8281 8626 1725 2280 5120 1650 3445 7652 4312 6911 8626 151013 5892 2263 2546 2979 1545 5873 7406 67 726 3697 2860 6443 8542 17911 2820 1561 4580 6052 79 5269 7134 22 2410 2424 3501 5642 8627 8086950 8571 4099 6389 7482 4023 5000 7833 5476 5765 7917 1008 3194 7207 20495 5411 1703 8388 8635 6 4395 4921 200 2053 8206 1089 5126 5562 10 41937720 1967 2151 4608 22 738 3513 3385 5066 8152 440 1118 8537 3429 60587716 5213 7519 8382 5564 8365 8620 43 3219 8603 4 5409 5815 5 6376 76544091 5724 5953 5348 6754 8613 1634 6398 6632 72 2058 8605 3497 5811 75793846 6743 8559 15 5933 8629 2133 5859 7068 4151 4617 8566 2960 8270 84102059 3617 8210 544 1441 6895 4043 7482 8592 294 2180 8524 3058 8227 8373364 5756 8617 5383 8555 8619 1704 2480 4181 7338 7929 7990 2615 39057981 4298 4548 8296 8262 8319 8630 892 1893 8028 5694 7237 8595 14875012 5810 4335 8593 8624 3509 4531 5273 10 22 830 4161 5208 6280 2757063 8634 4 2725 3113 2279 7403 8174 1637 3328 3930 2810 4939 5624 31234 7687 2799 7740 8616 22 7701 8636 4302 7857 7993 7477 7794 8592 96111 8591 5 8606 8628 347 3497 4033 1747 2613 8636 1827 5600 7042 5801822 6842 232 7134 7783 4629 5000 7231 951 2806 4947 571 3474 8577 24372496 7945 23 5873 8162 12 1168 7686 8315 8540 8596 1766 2506 4733 9291516 3338 21 1216 6555 782 1452 8617 8 6083 6087 667 3240 4583 4030 46615790 559 7122 8553 3202 4388 4909 2533 3673 8594 1991 3954 6206 68357900 7980 189 5722 8573 2680 4928 4998 243 2579 7735 4281 8132 8566 76567671 8609 1116 2291 4166 21 388 8021 6 1123 8369 311 4918 8511 0 32486290 13 6762 7172 4209 5632 7563 49 127 8074 581 1735 4075 0 2235 54702178 5820 6179 16 3575 6054 1095 4564 6458 9 1581 5953 2537 6469 8552 143874 4844 0 3269 3551 2114 7372 7926 1875 2388 4057 3232 4042 6663 9 401583 13 4100 6584 2299 4190 4410 21 3670
 4979. 44. A data processingmethod comprising: an encoding step of encoding information bits into anLDPC (Low Density Parity Check) code having a code length of 64800 bitsand a code rate of 26/30 on the basis of a parity check matrix of theLDPC code, wherein the LDPC code includes information bits and paritybits, the parity check matrix includes an information matrix portioncorresponding to the information bits and a parity matrix portioncorresponding to the parity bits, the information matrix portion isrepresented by a parity check matrix initial value table, and the paritycheck matrix initial value table is a table showing positions ofelements of 1 in the information matrix portion in units of 360 columns,including 142 2307 2598 2650 4028 4434 5781 5881 6016 6323 6681 66988125 2932 4928 5248 5256 5983 6773 6828 7789 8426 8494 8534 8539 8583899 3295 3833 5399 6820 7400 7753 7890 8109 8451 8529 8564 8602 21 30604720 5429 5636 5927 6966 8110 8170 8247 8355 8365 8616 20 1745 2838 37994380 4418 4646 5059 7343 8161 8302 8456 8631 9 6274 6725 6792 7195 73338027 8186 8209 8273 8442 8548 8632 494 1365 2405 3799 5188 5291 76447926 8139 8458 8504 8594 8625 192 574 1179 4387 4695 5089 5831 7673 77898298 8301 8612 8632 11 20 1406 6111 6176 6256 6708 6834 7828 8232 84578495 8602 6 2654 3554 4483 4966 5866 6795 8069 8249 8301 8497 8509 862321 1144 2355 3124 6773 6805 6887 7742 7994 8358 8374 8580 8611 335 44734883 5528 6096 7543 7586 7921 8197 8319 8394 8489 8636 2919 4331 44194735 6366 6393 6844 7193 8165 8205 8544 8586 12 19 742 930 3009 43306213 6224 7292 7430 7792 7922 8137 710 1439 1588 2434 3516 5239 62486827 8230 8448 8515 8581 8619 200 1075 1868 5581 7349 7642 7698 80378201 8210 8320 8391 8526 3 2501 4252 5256 5292 5567 6136 6321 6430 64867571 8521 8636 3062 4599 5885 6529 6616 7314 7319 7567 8024 8153 83028372 8598 105 381 1574 4351 5452 5603 5943 7467 7788 7933 8362 8513 8587787 1857 3386 3659 6550 7131 7965 8015 8040 8312 8484 8525 8537 15 11184226 5197 5575 5761 6762 7038 8260 8338 8444 8512 8568 36 5216 5368 56166029 6591 8038 8067 8299 8351 8565 8578 8585 1 23 4300 4530 5426 55325817 6967 7124 7979 8022 8270 8437 629 2133 4828 5475 5875 5890 71948042 8345 8385 8518 8598 8612 11 1065 3782 4237 4993 7104 7863 7904 81048228 8321 8383 8565 2131 2274 3168 3215 3220 5597 6347 7812 8238 83548527 8557 8614 5600 6591 7491 7696 1766 8281 8626 1725 2280 5120 16503445 7652 4312 6911 8626 15 1013 5892 2263 2546 2979 1545 5873 7406 67726 3697 2860 6443 8542 17 911 2820 1561 4580 6052 79 5269 7134 22 24102424 3501 5642 8627 808 6950 8571 4099 6389 7482 4023 5000 7833 54765765 7917 1008 3194 7207 20 495 5411 1703 8388 8635 6 4395 4921 200 20538206 1089 5126 5562 10 4193 7720 1967 2151 4608 22 738 3513 3385 50668152 440 1118 8537 3429 6058 7716 5213 7519 8382 5564 8365 8620 43 32198603 4 5409 5815 5 6376 7654 4091 5724 5953 5348 6754 8613 1634 63986632 72 2058 8605 3497 5811 7579 3846 6743 8559 15 5933 8629 2133 58597068 4151 4617 8566 2960 8270 8410 2059 3617 8210 544 1441 6895 40437482 8592 294 2180 8524 3058 8227 8373 364 5756 8617 5383 8555 8619 17042480 4181 7338 7929 7990 2615 3905 7981 4298 4548 8296 8262 8319 8630892 1893 8028 5694 7237 8595 1487 5012 5810 4335 8593 8624 3509 45315273 10 22 830 4161 5208 6280 275 7063 8634 4 2725 3113 2279 7403 81741637 3328 3930 2810 4939 5624 3 1234 7687 2799 7740 8616 22 7701 86364302 7857 7993 7477 7794 8592 9 6111 8591 5 8606 8628 347 3497 4033 17472613 8636 1827 5600 7042 580 1822 6842 232 7134 7783 4629 5000 7231 9512806 4947 571 3474 8577 2437 2496 7945 23 5873 8162 12 1168 7686 83158540 8596 1766 2506 4733 929 1516 3338 21 1216 6555 782 1452 8617 8 60836087 667 3240 4583 4030 4661 5790 559 7122 8553 3202 4388 4909 2533 36738594 1991 3954 6206 6835 7900 7980 189 5722 8573 2680 4928 4998 243 25797735 4281 8132 8566 7656 7671 8609 1116 2291 4166 21 388 8021 6 11238369 311 4918 8511 0 3248 6290 13 6762 7172 4209 5632 7563 49 127 8074581 1735 4075 0 2235 5470 2178 5820 6179 16 3575 6054 1095 4564 6458 91581 5953 2537 6469 8552 14 3874 4844 0 3269 3551 2114 7372 7926 18752388 4057 3232 4042 6663 9 401 583 13 4100 6584 2299 4190 4410 21
 36704979. 45. A data processing apparatus comprising: a decoding unitconfigured to decode an LDPC (Low Density Parity Check) code having acode length of 64800 bits and a code rate of 26/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including 142 2307 2598 2650 4028 4434 5781 58816016 6323 6681 6698 8125 2932 4928 5248 5256 5983 6773 6828 7789 84268494 8534 8539 8583 899 3295 3833 5399 6820 7400 7753 7890 8109 84518529 8564 8602 21 3060 4720 5429 5636 5927 6966 8110 8170 8247 8355 83658616 20 1745 2838 3799 4380 4418 4646 5059 7343 8161 8302 8456 8631 96274 6725 6792 7195 7333 8027 8186 8209 8273 8442 8548 8632 494 13652405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625 192 574 1179 43874695 5089 5831 7673 7789 8298 8301 8612 8632 11 20 1406 6111 6176 62566708 6834 7828 8232 8457 8495 8602 6 2654 3554 4483 4966 5866 6795 80698249 8301 8497 8509 8623 21 1144 2355 3124 6773 6805 6887 7742 7994 83588374 8580 8611 335 4473 4883 5528 6096 7543 7586 7921 8197 8319 83948489 8636 2919 4331 4419 4735 6366 6393 6844 7193 8165 8205 8544 85868617 12 19 742 930 3009 4330 6213 6224 7292 7430 7792 7922 8137 710 14391588 2434 3516 5239 6248 6827 8230 8448 8515 8581 8619 200 1075 18685581 7349 7642 7698 8037 8201 8210 8320 8391 8526 3 2501 4252 5256 52925567 6136 6321 6430 6486 7571 8521 8636 3062 4599 5885 6529 6616 73147319 7567 8024 8153 8302 8372 8598 105 381 1574 4351 5452 5603 5943 74677788 7933 8362 8513 8587 787 1857 3386 3659 6550 7131 7965 8015 80408312 8484 8525 8537 15 1118 4226 5197 5575 5761 6762 7038 8260 8338 84448512 8568 36 5216 5368 5616 6029 6591 8038 8067 8299 8351 8565 8578 85851 23 4300 4530 5426 5532 5817 6967 7124 7979 8022 8270 8437 629 21334828 5475 5875 5890 7194 8042 8345 8385 8518 8598 8612 11 1065 3782 42374993 7104 7863 7904 8104 8228 8321 8383 8565 2131 2274 3168 3215 32205597 6347 7812 8238 8354 8527 8557 8614 5600 6591 7491 7696 1766 82818626 1725 2280 5120 1650 3445 7652 4312 6911 8626 15 1013 5892 2263 25462979 1545 5873 7406 67 726 3697 2860 6443 8542 17 911 2820 1561 45806052 79 5269 7134 22 2410 2424 3501 5642 8627 808 6950 8571 4099 63897482 4023 5000 7833 5476 5765 7917 1008 3194 7207 20 495 5411 1703 83888635 6 4395 4921 200 2053 8206 1089 5126 5562 10 4193 7720 1967 21514608 22 738 3513 3385 5066 8152 440 1118 8537 3429 6058 7716 5213 75198382 5564 8365 8620 43 3219 8603 4 5409 5815 5 6376 7654 4091 5724 59535348 6754 8613 1634 6398 6632 72 2058 8605 3497 5811 7579 3846 6743 855915 5933 8629 2133 5859 7068 4151 4617 8566 2960 8270 8410 2059 3617 8210544 1441 6895 4043 7482 8592 294 2180 8524 3058 8227 8373 364 5756 86175383 8555 8619 1704 2480 4181 7338 7929 7990 2615 3905 7981 4298 45488296 8262 8319 8630 892 1893 8028 5694 7237 8595 1487 5012 5810 43358593 8624 3509 4531 5273 10 22 830 4161 5208 6280 275 7063 8634 4 27253113 2279 7403 8174 1637 3328 3930 2810 4939 5624 3 1234 7687 2799 77408616 22 7701 8636 4302 7857 7993 7477 7794 8592 9 6111 8591 5 8606 8628347 3497 4033 1747 2613 8636 1827 5600 7042 580 1822 6842 232 7134 77834629 5000 7231 951 2806 4947 571 3474 8577 2437 2496 7945 23 5873 816212 1168 7686 8315 8540 8596 1766 2506 4733 929 1516 3338 21 1216 6555782 1452 8617 8 6083 6087 667 3240 4583 4030 4661 5790 559 7122 85533202 4388 4909 2533 3673 8594 1991 3954 6206 6835 7900 7980 189 57228573 2680 4928 4998 243 2579 7735 4281 8132 8566 7656 7671 8609 11162291 4166 21 388 8021 6 1123 8369 311 4918 8511 0 3248 6290 13 6762 71724209 5632 7563 49 127 8074 581 1735 4075 0 2235 5470 2178 5820 6179 163575 6054 1095 4564 6458 9 1581 5953 2537 6469 8552 14 3874 4844 0 32693551 2114 7372 7926 1875 2388 4057 3232 4042 6663 9 401 583 13 4100 65842299 4190 4410 21 3670
 4979. 46. A data processing method comprising: adecoding step of decoding an LDPC (Low Density Parity Check) code havinga code length of 64800 bits and a code rate of 26/30 on the basis of aparity check matrix of the LDPC code, wherein the LDPC code includesinformation bits and parity bits, the parity check matrix includes aninformation matrix portion corresponding to the information bits and aparity matrix portion corresponding to the parity bits, the informationmatrix portion is represented by a parity check matrix initial valuetable, and the parity check matrix initial value table is a tableshowing positions of elements of 1 in the information matrix portion inunits of 360 columns, including 142 2307 2598 2650 4028 4464 5781 58816016 6323 6681 6698 8125 2932 4928 5248 5256 5983 6773 6828 7789 84268494 8534 8539 8583 899 3295 3833 5399 6820 7400 7753 7890 8109 84518529 8564 8602 21 3060 4720 5429 5636 5927 6966 8110 8170 8247 8355 83658616 20 1745 2838 3799 4380 4418 4646 5059 7343 8161 8302 8456 8631 96274 6725 6792 7195 7333 8027 8186 8209 8273 8442 8548 8632 494 13652405 3799 5188 5291 7644 7926 8139 8458 8504 8594 8625 192 574 1179 43874695 5089 5831 7673 7789 8298 8301 8612 8632 11 20 1406 6111 6176 62566708 6834 7828 8232 8457 8495 8602 6 2654 3554 4483 4966 5866 6795 80698249 8301 8497 8509 8623 21 1144 2355 3124 6773 6805 6887 7742 7994 83588374 8580 8611 335 4473 4883 5528 6096 7543 7586 7921 8197 8319 83948489 8636 2919 4331 4419 4735 6366 6393 6844 7193 8165 8205 8544 85868617 12 19 742 930 3009 4330 6213 6224 7292 7430 7792 7922 8137 710 14391588 2434 3516 5239 6248 6827 8230 8448 8515 8581 8619 200 1075 18685581 7349 7642 7698 8037 8201 8210 8320 8391 8526 3 2501 4252 5256 52925567 6136 6321 6430 6486 7571 8521 8636 3062 4599 5885 6529 6616 73147319 7567 8024 8153 8302 8372 8598 105 381 1574 4351 5452 5603 5943 74677788 7933 8362 8513 8587 787 1857 3386 3659 6550 7131 7965 8015 80408312 8484 8525 8537 15 1118 4226 5197 5575 5761 6762 7038 8260 8338 84448512 8568 36 5216 5368 5616 6029 6591 8038 8067 8299 8351 8565 8578 85851 23 4300 4530 5426 5532 5817 6967 7124 7979 8022 8270 8437 629 21334828 5475 5875 5890 7194 8042 8345 8385 8518 8598 8612 11 1065 3782 42374993 7104 7863 7904 8104 8228 8321 8383 8565 2131 2274 3168 3215 32205597 6347 7812 8238 8354 8527 8557 8614 5600 6591 7491 7696 1766 82818626 1725 2280 5120 1650 3445 7652 4312 6911 8626 15 1013 5892 2263 25462979 1545 5873 7406 67 726 3697 2860 6443 8542 17 911 2820 1561 45806052 79 5269 7134 22 2410 2424 3501 5642 8627 808 6950 8571 4099 63897482 4023 5000 7833 5476 5765 7917 1008 3194 7207 20 495 5411 1703 83888635 6 4395 4921 200 2053 8206 1089 5126 5562 10 4193 7720 1967 21514608 22 738 3513 3385 5066 8152 440 1118 8537 3429 6058 7716 5213 75198382 5564 8365 8620 43 3219 8603 4 5409 5815 5 6376 7654 4091 5724 59535348 6754 8613 1634 6398 6632 72 2058 8605 3497 5811 7579 3846 6743 855915 5933 8629 2133 5859 7068 4151 4617 8566 2960 8270 8410 2059 3617 8210544 1441 6895 4043 7482 8592 294 2180 8524 3058 8227 8373 364 5756 86175383 8555 8619 1704 2480 4181 7338 7929 7990 2615 3905 7981 4298 45488296 8262 8319 8630 892 1893 8028 5694 7237 8595 1487 5012 5810 43358593 8624 3509 4531 5273 10 22 830 4161 5208 6280 275 7063 8634 4 27253113 2279 7403 8174 1637 3328 3930 2810 4939 5624 3 1234 7687 2799 77408616 22 7701 8636 4302 7857 7993 7477 7794 8592 9 6111 8591 5 8606 8628347 3497 4033 1747 2613 8636 1827 5600 7042 580 1822 6842 232 7134 77834629 5000 7231 951 2806 4947 571 3474 8577 2437 2496 7945 23 5873 816212 1168 7686 8315 8540 8596 1766 2506 4733 929 1516 3338 21 1216 6555782 1452 8617 8 6083 6087 667 3240 4583 4030 4661 5790 559 7122 85533202 4388 4909 2533 3673 8594 1991 3954 6206 6835 7900 7980 189 57228573 2680 4928 4998 243 2579 7735 4281 8132 8566 7656 7671 8609 11162291 4166 21 388 8021 6 1123 8369 311 4918 8511 0 3248 6290 13 6762 71724209 5632 7563 49 127 8074 581 1735 4075 0 2235 5470 2178 5820 6179 163575 6054 1095 4564 6458 9 1581 5953 2537 6469 8552 14 3874 4844 0 32693551 2114 7372 7926 1875 2388 4057 3232 4042 6663 9 401 583 13 4100 65842299 4190 4410 21 3670
 4979. 47-58. (canceled)
 59. The data processingapparatus according to claim 43, wherein where a row of the parity checkmatrix initial value table is represented by i and a parity length ofthe LDPC code is represented by M, a {2+360×(i−1)}-th column of theparity check matrix is a column obtained by cyclically shifting a{1+360×(i−1)}-th column of the parity check matrix, in which positionsof elements of 1 are represented in the parity check matrix initialvalue table, downward by q, where q is equal to M/360.
 60. The dataprocessing apparatus according to claim 59, wherein for the{1+360×(i−1)}-th column of the parity check matrix, an i-th row of theparity check matrix initial value table represents a row number of anelement of 1 in the {1+360×(i−1)}-th column of the parity check matrix,and for each of the {2+360×(i−1)}-th to (360×i)-th columns, which arecolumns other than the {1+360×(i−1)}-th column of the parity checkmatrix, a row number H_(w-j) of an element of 1 in a w-th column of theparity check matrix, which is a column other than the {1+360×(i−1)}-thcolumn of the parity check matrix, is represented by equationH_(w-j)=mod{h_(i,j)+mod((w−1),360)×M/360, M), where h_(i,j) denotes avalue in the i-th row and a j-th column of the parity check matrixinitial value table, and H_(w-j) denotes a row number of a j-th elementof 1 in the w-th column of the parity check matrix H.
 61. The dataprocessing apparatus according to claim 59, wherein q is
 36. 62. Thedata processing apparatus according to claim 43, further comprising: aparity interleaving unit configured to interleave only parity bits incode bits of the LDPC code.
 63. The data processing apparatus accordingto claim 43, further comprising: a column twist interleaving unitconfigured to perform column twist interleaving on the LDPC code byshifting code bits of the LDPC code in a column direction and storingthe shifted code bits.
 64. The data processing apparatus according toclaim 43, further comprising: a permutation unit configured to permutecode bits of the LDPC code to replace the code bits of the LDPC codewith symbol bits of a symbol corresponding to one of a certain number ofconstellation points defined by a certain digital modulation scheme. 65.The data processing apparatus according to claim 64, wherein thepermutation unit permutes the code bits that are stored in a columndirection and that are read in a row direction.
 66. The data processingapparatus according to claim 43, wherein the parity check matrix is aparity check matrix that does not have cycle
 4. 67. The data processingapparatus according to claim 43, wherein the parity check matrix is aparity check matrix of an LDPC code belonging to an ensemble of LDPCcodes having a performance threshold less than or equal to a certainvalue, the performance threshold being an E_(b)/N₀ at which a BER beginsto drop and being detected using multi-edge type density evolution. 68.The data processing apparatus according to claim 45, wherein where a rowof the parity check matrix initial value table is represented by i and aparity length of the LDPC code is represented by M, a {2+360×(i−1)}-thcolumn of the parity check matrix is a column obtained by cyclicallyshifting a {1+360×(i−1)}-th column of the parity check matrix, in whichpositions of elements of 1 are represented in the parity check matrixinitial value table, downward by q, where q is equal to M/360.
 69. Thedata processing apparatus according to claim 68, wherein for the{1+360×(i−1)}-th column of the parity check matrix, an i-th row of theparity check matrix initial value table represents a row number of anelement of 1 in the {1+360×(i−1)}-th column of the parity check matrix,and for each of the {2+360×(i−1)}-th to (360×i)-th columns, which arecolumns other than the {1+360×(i−1)}-th column of the parity checkmatrix, a row number H_(w-j) of an element of 1 in a w-th column of theparity check matrix, which is a column other than the {1+360×(i−1)}-thcolumn of the parity check matrix, is represented by equationH_(w-j)=mod{h_(i,j)+mod((w−1),360)×M/360, M), where h_(i,j), denotes avalue in the i-th row and a j-th column of the parity check matrixinitial value table, and H_(w-j) denotes a row number of a j-th elementof 1 in the w-th column of the parity check matrix H.
 70. The dataprocessing apparatus according to claim 68, wherein q is
 36. 71. Thedata processing apparatus according to claim 45, further comprising: acolumn twist deinterleaving unit configured to perform column twistdeinterleaving on the LDPC code to restore code bits of the LDPC code toan original order in a case where column twist interleaving has beenperformed on the LDPC code by shifting the code bits the LDPC code in acolumn direction and storing the shifted code bits.
 72. The dataprocessing apparatus according to claim 45, further comprising: aninverse permutation unit configured to perform inverse permutationprocessing on the LDPC code, in a case where permutation processing hasbeen performed on the LDPC code to replace code bits of the LDPC codewith symbol bits of a symbol corresponding to one of a certain number ofconstellation points defined by a certain digital modulation scheme, torestore the code bits whose positions have been replaced with the symbolbits to original positions.
 73. The data processing apparatus accordingto claim 72, wherein the inverse permutation unit performs inversepermutation processing to restore the code bits that are stored in a rowdirection and that are read in a column direction to original positions.74. The data processing apparatus according to claim 45, wherein theparity check matrix is a parity check matrix that does not have cycle 4.75. The data processing apparatus according to claim 45, wherein theparity check matrix is a parity check matrix of an LDPC code belongingto an ensemble of LDPC codes having a performance threshold less than orequal to a certain value, the performance threshold being an E_(b)/N₀ atwhich a BER begins to drop and being detected using multi-edge typedensity evolution.